から私は人々がコンボボックスにロードされた項目の値を取得するために、あなたは移入コンボボックスデータベースのクエリ
combobox1.displayMamer =""
combobox1.valuemember=""
combobox1.datasource=""
を使用する必要がある。しかし、このようなものはないと言っている同様の質問に対する回答の多くを参照してください仕事.....ここ
は、私が表からCODE1とCODE2を選択しています....私が持っているもの
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Using con As New SqlConnection(sConnection)
con.Open()
Using com As New SqlCommand("Select Code1, Code2 from tblTable6 where fldname ='Things'", con)
Using rdr = com.ExecuteReader
If rdr.HasRows Then
Do While rdr.Read = True
ComboBox1.Items.Add(rdr.GetString(0))
''''missing something here
Loop
con.Close()
End If
End Using
End Using
End Using
End Sub
ですが、私はCODE1を表示できるようにしたいと、選択したときに、私が欲しいですthを持つことができるようにするe Code2の値ですが、displayMemberとValueMemberを使用しても結果は表示されません。
編集:ここではすべての私のコードです:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Using con As New SqlConnection(sConnection)
Using com As New SqlCommand("Select Label, Code from Table.....", con)
con.Open()
Dim dt As New DataTable()
Dim rows = dt.Load(com.ExecuteReader)
ComboBox1.DataSource = dt
ComboBox1.DisplayMember = "Code"
ComboBox1.ValueMember = "Label"
con.Close()
End Using
End Using
End Sub
薄暗い行= dt.Load(com.ExecuteReader)---この行は
ERRORを強調します氏は述べています:Expressionが値
を生成しません。EDIT2:新しいVにバインドすることはできません:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Using con As New SqlConnection(sConnection)
con.Open()
Using com As New SqlCommand("Select Label, Code from tblData where fldname ='M'", con)
Dim dt As New DataTable()
ComboBox1.DataSource = dt
ComboBox1.DisplayMember = "Code"
ComboBox1.ValueMember = "Label"
con.Close()
End Using
End Using
End Sub
は、今私がいることを言って、別のエラーが出ますメンバー。 これはcombobox1.valuemember =「ラベル」
HasRowsチェックは必要ありません。 'Do While rdr.Read'は、行がない場合にループをスキップします。 – LarsTech
あなたの実際のSQLカラム、テーブル名WHERE句などを使用するように変更します。私はデータについてわからないので、より一般的な解決策を提示するように変更しました。 – Plutonix
@plutonix - 私はSQL文を変更しました。私はここにそれを貼り付けた – BobSki