c#mysql无法将查询输出到文本框
本文关键字:文本 输出 查询 c#mysql | 更新日期: 2023-09-27 17:57:36
这是我的代码:
private void searchInDatabase()
{
MySqlConnection c = new MySqlConnection("datasource=localhost; username=root; password=123456; port=3306");
MySqlCommand mcd;
MySqlDataReader mdr;
String query;
try
{
c.Open();
query = "SELECT * FROM test.classmates WHERE first_name ='"+searchName.Text+"'";
mcd = new MySqlCommand(query, c);
mdr = mcd.ExecuteReader();
if(mdr.Read())
{
firstName.Text = mdr.GetString("first_name");
middleName.Text = mdr.GetString("middle_name");
lastName.Text = mdr.GetString("last_name");
age.Text = mdr.GetString("age");
}
else
{
MessageBox.Show("Result Not Found");
}
}
catch(Exception error)
{
MessageBox.Show("Error: "+error.Message);
}
finally
{
c.Close();
}
}
如果我错过了什么或做错了什么,我想寻求帮助。如果你有空闲时间,如果你能评论我实现这个问题的完美方法,我将不胜感激:我想从MySQL获取数据,然后把它放在文本框中。
根据MSDN,您需要将列号作为参数传递
public override string GetString(int i)
因此,请尝试传递列名的列号(从0开始)。假设first_name是表的第一列,则
firstName.Text = mdr.GetString(0);
更新
尝试使用MySqlConnectionStringBuilder
MySqlConnectionStringBuilder conn_string = new MySqlConnectionStringBuilder();
conn_string.Server = "serverip/localhost";
conn_string.UserID = "my_user";
conn_string.Password = "password";
conn_string.Database = "my_db";
MySqlConnection conn = new MySqlConnection(conn_string.ToString();
首先查看此连接字符串示例,然后更改您的连接字符串:'Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPasswor;'
如果连接正常,则发送错误消息或完全异常。