Database 空值异常-Vb.Net

Database 空值异常-Vb.Net,database,vb.net,ms-access,oledb,Database,Vb.net,Ms Access,Oledb,此代码在更新时引发空值异常 Private Sub Button4_Click_1(sender As Object, e As EventArgs) Handles Button4.Click Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & TextBox1.Text Dim SQLString As String = "SELECT * FR

此代码在更新时引发空值异常

  Private Sub Button4_Click_1(sender As Object, e As EventArgs) Handles Button4.Click
    Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & TextBox1.Text
    Dim SQLString As String = "SELECT * FROM " & ComboBox1.Text
    Dim OleDBConn1 As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection(ConnString)
    Dim DataSet1 As New DataSet()
    Dim OleDbDataAdapter1 As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter(SQLString, OleDBConn1)
    OleDBConn1.Open()
    OleDbDataAdapter1.Update(DataSet1.Tables(ComboBox1.Text))
    DataSet1.AcceptChanges()
    OleDBConn1.Close()
End Sub

在这四行中的第一行,您正在创建一个
数据集
,在第四行,您尝试按名称从中获取一个
数据表
。中间的两行如何在
数据集中神奇地创建
DataTable
?答案是他们没有。假设您已经有一个包含所需数据表的
数据集
,请使用它。

在哪一行引发异常?@BrianHooper-OleDbDataAdapter1.Update(DataSet1.Tables(ComboBox1.Text))expection msg is value不能为null我猜,在这种情况下,ComboBox1中没有文本;您可以通过使用debug单步执行代码并将鼠标指针悬停在相关变量上来确认这一点。@BrianHooper Combobox有文本,我选中了您需要调试,很明显您做错了什么。您已经有了错误所在的行,现在您只需要查看DataSet1当时包含的内容。
Dim DataSet1 As New DataSet()
Dim OleDbDataAdapter1 As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter(SQLString, OleDBConn1)
OleDBConn1.Open()
OleDbDataAdapter1.Update(DataSet1.Tables(ComboBox1.Text))