2017-01-04 177 views
0

嗨huys我需要一些組合框的幫助 在第一個組合中,我從MySql中導入了來自表格的工位。 所以在第二個組合中,我需要從第一個組合中的第一個選定的№站導入日期。MySQL查詢從組合框中選擇

在第二個combobox2中,我編寫了這段代碼。

string command1 = "select min(Dat) FROM hyddnev where station=" + comboBox1.SelectedItem; 

但是這段代碼不起作用。

所以我需要選擇日期,當用戶選擇在第一個組合№站例如:12460 ...在第二個組合中顯示數據庫中的日期示例:列的名稱是Dat?

我完整的代碼:

string MyConString1 = "SERVER=localhost;" + 
       "DATABASE=hydrodb;" + 
       "UID=root;" + 
       "PASSWORD=;"; 
      MySqlConnection connection1 = new MySqlConnection(MyConString1); 
      string command1 = "select min(Dat) FROM hyddnev where station=" + comboBox1.SelectedItem; 
      MySqlDataAdapter da1 = new MySqlDataAdapter(command1, connection1); 
      DataTable dt1 = new DataTable(); 
      da1.Fill(dt1); 
      foreach (DataRow row in dt1.Rows) 
      { 
       string rowz = string.Format("{0}", row.ItemArray[0]); 
       comboBox2.Items.Add(rowz); 
      } 
      connection.Close(); 

任何幫助嗎?

+0

*但此代碼不起作用。*什麼不起作用?任何問題或錯誤?你需要輸出什麼?另外,如果該值是一個字符串,那麼您需要在該值周圍使用''''。 – RandomStranger

+0

沒有錯誤,只是當您在第二個組合中的第一個組合中選擇預設數量的站時外出日期 –

回答

0

您需要使用引號並打開連接。但是,正確的方法是使用參數:

string command1 = "select min(Dat) FROM hyddnev where [email protected]"; 
comamand1.Parameters.Add("@param",comboBox1.SelectedItem); 
connection1.Open(); 
MySqlDataAdapter da1 = new MySqlDataAdapter(command1, connection1); 
DataTable dt1 = new DataTable(); 
.... 

編輯:

我談論的SQL參數。請參閱Here

+0

我應該放什麼參數? 在第一個組合中,我擁有大約300個以上的車站數量。 我想要當用戶選擇站的第一個組合號碼與請求基地顯示在第二個組合日期? –

+0

我無法理解如何更改我的代碼.. –