Vb.net Windows窗体应用程序:System.NullReferenceException错误
你好 我一直在试图找出我的应用程序中的错误源。此函数(Vb.net Windows窗体应用程序:System.NullReferenceException错误,vb.net,Vb.net,你好 我一直在试图找出我的应用程序中的错误源。此函数(GetConcentrations())用于在DataGridView上显示数据库中的数据。该函数在PageLoad中调用,但工作正常,但当我在另一个子系统中调用它时,会出现此错误 有人能帮我吗?我已经试过不同的方法了 谢谢 代码如下: Private Sub GetConcentrations() Dim conString As String = ConfigurationManager.ConnectionStrings("d
GetConcentrations()
)用于在DataGridView上显示数据库中的数据。该函数在PageLoad中调用,但工作正常,但当我在另一个子系统中调用它时,会出现此错误
有人能帮我吗?我已经试过不同的方法了
谢谢
代码如下:
Private Sub GetConcentrations()
Dim conString As String = ConfigurationManager.ConnectionStrings("dbAsthmaConnectionString").ConnectionString
Me.dataAdapter = New SqlDataAdapter("Select * from tblConcentrations", conString)
'Dim adapter As New SqlDataAdapter("Select * from tblConcentrations", conString)
Dim dataset As New Data.DataSet
Try
Dim commandBuilder As New SqlCommandBuilder(Me.dataAdapter)
Dim table As New DataTable()
table.Locale = System.Globalization.CultureInfo.InvariantCulture
Me.dataAdapter.Fill(table)
'Dim datasetgetconcentrations = New DataSet
Me.dataAdapter.Fill(dataset)
Me.bindingSource1.DataSource = table
DataGridView3.AutoResizeColumns(DataGridViewAutoSizeColumnMode.AllCellsExceptHeader)
DataGridView3.DataSource = dataset.Tables(0)
dataset.Dispose()
Catch ex As Exception
MsgBox("Failed to display the concentration table (GetConcentrations)!", MsgBoxStyle.Information)
End Try
'Dim ConcentrationValue As Double = DataGridView2.Rows.Contains
'TextBoxCurrentConcentration.Text = txtMessage.Text
End Sub
我不明白你为什么两次调用Fill方法。
一次填充数据表,一次填充数据集。实际上只需要数据集的一个。 如果这能改变你的问题,你能试试吗
Dim ds as New DataSet
ds.Locale = System.Globalization.CultureInfo.InvariantCulture
Me.dataAdapter.Fill(ds)
DataGridView3.AutoResizeColumns(DataGridViewAutoSizeColumnMode.AllCellsExceptHeader)
DataGridView3.DataSource = ds.Tables(0)
另外,不要在退出时处理数据集,您仍在使用它。在这种情况下,最好让垃圾收集处理此任务 请张贴代码,而不是图片。另外,显示哪一行获得异常。如果可能的话,还请显示来自异常的完整调用堆栈。
dataset.Dispose()
没有多大意义,因为您似乎正在使用它绑定控件。顺便说一句,发布整个屏幕截图很难阅读。嗨,我发布了代码。它突出显示Me.dataAdapter.Fill(数据集)