我在C#中編寫了一個程序,我想從MySQL數據庫中獲取一個值。DataReader不返回值?
我的代碼是:
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)); }
現場,我試圖讓具有值。我試圖顯示該值,但是當我執行該事件時,沒有任何反應。
編輯
好吧,我改變SelectedValue
解決的問題SelectedItem
如果沒有反應,然後reader.Read()可能返回false因爲結果集是空的解決了這個問題。你在哪裏設定'@ subj'的值?你在做什麼? – rsbarro 2012-03-29 02:39:25
這來自用戶輸入。 queryReqYear.Parameters.AddWithValue(「@ subj」,viewStudents_subj.SelectedValue);我可以向你保證,我查詢的領域不是空的。它的值爲3. – Nath 2012-03-29 02:40:21
'reader.Read()'返回「true」還是「false」?如果它返回「false」,那麼你的查詢沒有返回任何記錄。另外,我沒有說場地是空的,我說結果集是空的。 – rsbarro 2012-03-29 02:44:52