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))