コンボボックスの選択された値を取得して複数のテキストボックスに表示する方法を尋ねたかったのです。コンボボックスには、データベースから病気が取り込まれます。コンボボックスから病気を選択すると、その病気の症状が多くのテキストボックスに表示されるようになりました。現在、症状用のテキストボックスが 10 個あります。テーブル構造は、id、病気、症状です。これが私のコードです:
Dim mycmd As New MySqlCommand
Dim dtr As MySqlDataReader
Call Connect()
Dim str As String
str = "Select symptoms from diagnose where illness = @ill"
mycmd.Parameters.AddWithValue("ill", cmbRecord.Text)
mycmd.CommandText = str
dtr = mycmd.ExecuteReader
While dtr.Read()
symp0.Text = dtr("symptoms")
symp1.Text = dtr("symptoms")
symp2.Text = dtr("symptoms")
symp3.Text = dtr("symptoms")
symp4.Text = dtr("symptoms")
symp5.Text = dtr("symptoms")
symp6.Text = dtr("symptoms")
symp7.Text = dtr("symptoms")
symp8.Text = dtr("symptoms")
symp9.Text = dtr("symptoms")
End While
myConn.Close()
コンボボックスから病気を選択すると、それらのテキストボックスに症状が表示されます。選択した病気の表に 4 つの症状しかない場合symp0
、symp3
テキスト ボックスに症状が 1 つずつ表示され、残りのテキスト ボックスは空白のままになります。
問題は、病気を選択すると、データベースに保存されているその病気の最後の症状しかテキスト ボックスに表示されないことです。
例:発熱。表では、寒さ、暑さ、頭痛、めまいの4つの症状があります。発熱を選択するとめまいのみがテキストボックスに表示されsymp0
ますsymp9
。