我在C#编写了一个程序,我希望从MySQL数据库中获取一个值。
我的代码是:
MySqlCommand queryReqYear =
new MySqlCommand(@"SELECT req_year FROM subjects_offered
WHERE subj_code= @subj", connectToDB.connection);
queryReqYear.Parameters.AddWithValue("@subj", viewStudents_subj.SelectedValue);
然后我使用DataReader
MySqlDataReader reader;
reader = queryReqYear.ExecuteReader();
然后我试着获得价值:
while (reader.Read())
{ MessageBox.Show(reader.GetString(0)); }
我想要获得的字段的值为 3 。我正在尝试显示该值,但是当我执行该事件时,没有任何反应。
修改
好的,我通过将SelectedValue
更改为SelectedItem
答案 0 :(得分:1)
尝试Text
属性:
queryReqYear.Parameters.AddWithValue("@subj", viewStudents_subj.Text);
答案 1 :(得分:0)
尝试在sql语句中使用单引号括起来。
MySqlCommand queryReqYear =
new MySqlCommand(@"SELECT req_year FROM subjects_offered
WHERE subj_code= 'blah'", connectToDB.connection);
答案 2 :(得分:0)
你没有得到任何例外,只是没有结果?
您可能希望测试将其放入变量,然后进行代码中断,例如:
string testValue = reader.GetString(0);
Console.WriteLine(testValue);
此外,您应该在SQL客户端中测试SQL代码,看看是否在那里获得了正确的结果。我怀疑你的SQL是问题,而不是c#代码。
答案 3 :(得分:0)
好的,我通过将SelectedValue
更改为SelectedItem