我可以在从Access DB填充的组合框顶部添加一行吗



我有一个vb组合框,其值取自针对Access DB运行的SELECT DISTINCT SQL语句。所选的值将在随后的SELECT语句中用作参数。我担心的是,我希望用户能够避免选择一个值,以便从下一个SELECT语句中删除该参数,或者使用*作为通配符。我不想在表中添加一个伪行来容纳null值或星号,所以我需要找到一些方法在顶部添加一行,以显示这一点。我不知道如何/在哪里放置INSERT语句,这样它就会显示在组合框的顶部,而不会显示在DB中。这是我正在使用的代码。我是VB的新手,选择这个方法来填充组合框,因为它看起来很容易理解。如果有任何帮助,我将不胜感激。谢谢

myConnToAccess = New OleDbConnection(myVariables.myStrConnectionString)
myConnToAccess.Open()
ds = New DataSet
tables = ds.Tables
da = New OleDbDataAdapter("SELECT DISTINCT ProcUserName FROM Processes ORDER BY ProcUserName", myConnToAccess)
da.Fill(ds, "Processes")
Dim view1 As New DataView(tables(0))
With cboUserID
.DataSource = ds.Tables("Processes")
.DisplayMember = "ProcUserName"
.ValueMember = "ProcUserName"
.SelectedIndex = 0
.AutoCompleteMode = AutoCompleteMode.SuggestAppend
.AutoCompleteSource = AutoCompleteSource.ListItems
End With
myConnToAccess.Close()

在使用DataTable.Rows.InsertAt 设置数据库位置后,您可以在DataTable中添加伪行

....
da.Fill(ds, "Processes")
Dim dt As DataTable = ds.Tables("Processes")
Dim row As DataRow = dt.NewRow()
row("ProcUserName") = "(All)"
dt.Rows.InsertAt(row, 0)

最新更新