2017-01-04 5 views
0

こんにちは私はコンボボックスでいくつかの助けが必要です 最初のコンボで私はMySqlからテーブルからステーションの№をインポートしました。 2番目のコンボでは、2番目のコンボで最初に選択した№から日付をインポートする必要があります。MySQLのクエリはコンボボックスから選択します

2番目のコンボボックス2では、このコードを記述しています。

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

しかし、このコードは機能しません。

だから私は、あなたがステーションの最初のコンボ№で選択する日付を選択する必要があります:12460 ... 2番目のコンボでデータベースの日付を表示する例:列の名前は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

2番目のコンボで最初のコンボのプリセット番号を選択したときにエラーが発生しません –

答えて

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以上のステーションがあります。 そして、ユーザーが2番目のコンボの日付に表示するために基地へのリクエストでステーションの最初のコンボ番号を選択するとしたらいいですか? –

+0

私のコードをどのように変更するのか理解できません.. –

関連する問題