Vb.net 返回数据表的函数
我有一个返回datatable的函数Vb.net 返回数据表的函数,vb.net,Vb.net,我有一个返回datatable的函数 Private Function _Read() As DataTable Dim _cmd As New SqlCommand Dim _da As New SqlDataAdapter(_cmd) Dim _dt As New DataTable With _cmd .Connection = dbRoot .CommandTimeout = 0 .CommandText
Private Function _Read() As DataTable
Dim _cmd As New SqlCommand
Dim _da As New SqlDataAdapter(_cmd)
Dim _dt As New DataTable
With _cmd
.Connection = dbRoot
.CommandTimeout = 0
.CommandText = "SELECT * FROM Table "
End With
Try
_da.Fill(_dt)
Return _dt
Catch ex As Exception
Return Nothing
End Try
End Function
现在我想控制是否出现错误,所以我把代码放在Try-Catch块中
如何从程序中检查是否发生异常
我可以这样设置吗
IF _Read = nothing ?
首先,要检查_Read是否未返回任何内容,必须在vb.net中使用Is关键字:
If _Read Is nothing Then
...
End if
但是如果您真的想“在发生错误时获得控制”,那么您必须做的第一件事就是应用正确的错误处理。永远不要捕捉和忽略异常。
处理异常的一种方法是通过消息框通知用户,并记录它。另一种选择是在过程中不使用Catch,以便错误向上传播
此外,您可能希望有一个finally块来关闭和释放资源,或者使用using构造。请参见此处:尝试下面的“读取方法”变体。此方法返回DataTable作为返回类型,返回错误消息作为输出参数。我希望这会有所帮助
Private Function _Read(ByRef errorMsg As String) As DataTable
Try
'Get data from datrabase
'return datatable
_Read = New Data.DataTable
'return empty if no error occured
errorMsg = ""
Catch ex As Exception
'return null data table
_Read = Nothing
'return error code
errorMsg = ex.Message
End Try
End Function
在您的代码中调用此方法作为
Dim myDataTable As Data.DataTable
Dim myErrorMsg As String = ""
myDataTable = _Read(myErrorMsg)
If myErrorMsg <> "" Then
MessageBox.Show(myErrorMsg)
End If
将myDataTable设置为Data.DataTable
Dim myErrorMsg As String=“”
myDataTable=\u读取(myErrorMsg)
如果myErrorMsg“”则
MessageBox.Show(myErrorMsg)
如果结束
如果它不是零,我如何设置?如果_Read不是零,那么returnedDT=\u Read()//如果returnedDT不是零,那么…