我正在使用 vb.net 并访问 2007 我有一个关于组合框刷新的问题
这是我的代码:
Private Sub comboRefresh()
    Try
        cmbSn_no.DataSource = Nothing
        cmbSn_no.Items.Clear()
        Dim asql As String = ("SELECT * FROM Vendor_det")
        da = New OleDb.OleDbDataAdapter(asql, cnnOLEDB)
        da.Fill(ds, "Vendor_det")
        cmbSn_no.ValueMember = "sr_no"
        cmbSn_no.DataSource = ds.Tables(0)
        cmbSn_no.SelectedIndex = 0
        'DataGridView1.DataSource = ds.Tables(0)
        'DataGridView1.Update()
    Catch ex As Exception
        MsgBox("ERROR : " & ex.Message.ToString)
    End Try
End Sub
Private Sub cmbSn_no_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbSn_no.SelectedIndexChanged
    Dim asql As String = ("SELECT * FROM Vendor_det where sr_no='" & cmbSn_no.Text & "'")
    cnnOLEDB.Open()
    cmd = New OleDb.OleDbCommand(asql, cnnOLEDB)
    dr = cmd.ExecuteReader
    If dr.Read = True Then
        cmbSn_no.Text = dr("sr_no")
        txtPart_no.Text = dr("part_no")
      .......... 
    End If
    cnnOLEDB.Close()
End Sub
我从添加和删除记录按钮单击事件中调用 comborefresh() 方法。如果我不使用注释代码并单击添加/删除按钮,则输出如下所示:
数据库中的记录:
abcd123 bbbc123
如果我添加记录 cccc123 .. 它应该更新并且我的组合框应该填充以下记录:
abcd123 bbbc123 cccc123
但它充满了
abcd123 bbbc123 cccc123 abcd123 bbbc123
如果我使用注释行,那么组合框将充满“System.Data.DataRowView”没有提示错误,但我没有得到我的答案......即使我已经尝试过......
combobox.refresh() combobox.selectedindex=-1 和 combobox.items.clear()
这没用
请解决我的问题....提前谢谢您...:)