【发布时间】:2015-08-01 05:43:22
【问题描述】:
在这个程序中,我尝试从 SQL 获取数据到字符串列表中,并在 messageBox 中显示它们。当我在textBox 中键入一个字符并在查询中使用它时,程序应该开始搜索,如下所示:
string sql = " SELECT * FROM general WHERE element='" + textBox1.Text + "' OR element='" + textBox2.Text + "' OR element='" + textBox3.Text + "' OR element='" + textBox4.Text + "'";
MySqlConnection con = new MySqlConnection("host=localhost;user=mate;password=1234;database=element_database");
MySqlCommand cmd = new MySqlCommand(sql, con);
con.Open();
MySqlDataReader reader = cmd.ExecuteReader();
string rd;
rd = reader.ToString();
int i=0;
List<string> item = new List<string>();
while (reader.Read())
{
item.Add(rd["element"].ToString());//i got error in this line
}
for (i = 0; i < item.Count;i++ )
{
MessageBox.Show(item[i]);
}
我做错了什么?
【问题讨论】:
-
请添加语言标签!
-
上述代码出现什么错误?
-
改用参数 + textbox.text +!可能你的元素是空的,不能转换成字符串。检查表上的数据。
-
[check this][1] [1]: stackoverflow.com/questions/8370927/… 我也在学习 C#,它可以帮助我理解循环。