Public Function ExecCommand(ByVal sql As String) As SqlDataReader
Dim dReader As SqlDataReader
Dim cmd As New SqlCommand()
cmd.CommandText = sql
cmd.Connection = sm
Dim isOpened = OpenConnection()
If isOpened Then
dReader = cmd.ExecuteReader()
CloseConnection()
End If
Return dReader
End Function
Run Code Online (Sandbox Code Playgroud)
它表示在运行时可能会发生空引用以声明该datareader.这是为什么?
那是因为dReader
如果不满足If条件,则可能不会初始化变量.您可以Nothing
默认将其初始化为:
Dim dReader As SqlDataReader = Nothing
Run Code Online (Sandbox Code Playgroud)
显然,这种方法的调用者需要处理这种情况.
另外,作为C#移民,您可能会惊讶于为什么您没有收到编译时错误而只是警告.
归档时间: |
|
查看次数: |
64 次 |
最近记录: |