我正在使用我在VB .net 2010中开发的应用程序从Access MDB文件访问数据。 我想从特定的表列中获取要在组合框下拉列表中填充的值。
我跟着类似的线程@ C# Adding data to combo-box from MS Access table,但由于代码在C#中,我无法成功实现它。并恢复到我以前的代码。
因为Table也会被其他应用程序更新,所以每次使用我的实用程序时,我都需要从该表中获取最新数据。因此,我希望有一个功能可以从表中获取所有可用的id。
以下是我一直试图做的事情..
'below declared at class level.
' Dim cnnOLEDB As New OleDbConnection
' Dim cmdOLEDB As New OleDbCommand
cnnOLEDB.Open()
cmdOLEDB.CommandText = "select unique_id from tag_data"
cmdOLEDB.Connection = cnnOLEDB
Dim rdrOLEDB2 As OleDbDataReader = cmdOLEDB.ExecuteReader
If rdrOLEDB2.Read = True Then
TagComboBox1.DataSource = rdrOLEDB2.Item(0).ToString
TagComboBox1.ValueMember = "unique_id"
TagComboBox1.DisplayMember = "unique_id"
End If
rdrOLEDB2.Dispose()
rdrOLEDB2.Close()
cnnOLEDB.Close()
答案 0 :(得分:1)
我建议您使用查询填写DataTable
。然后你可以设置组合框的DataSource
,ValueMember& DisplayMember。
Dim dt As New DataTable
Dim query As String = "select unique_id from tag_data"
Using connection As New OleDbConnection("your connection string")
Using command As New OleDbCommand(query, connection)
Using adapter As New OleDbDataAdapter(command)
connection.Open()
adapter.Fill(dt)
connection.Close()
End Using
End Using
End Using
If dt.Rows.Count > 0 Then
TagComboBox1.DataSource = dt
TagComboBox1.ValueMember = "unique_id"
TagComboBox1.DisplayMember = "unique_id"
End If