Переменная объекта не установлена ​​с экземпляром объекта - PullRequest
1 голос
/ 24 марта 2011

Просто потому, что (в моем коде) иногда выглядит, что sqlDataReader открыт, и говорит мне, что «уже есть открытый считыватель данных»
Я решил поставить эту строку: If Not SqlReader.IsClosed Then SqlReader.Close()

Select Case PreviousRecord
    Case True
        SqlComm = New SqlCommand("Select * from " & tmpName & " where FuelOrderValid = '" & True & "' Order by FuelLoadDate", ReportsSQLConn)
    Case False
        SqlComm = New SqlCommand("Select * from " & tmpName & " where FuelOrderValid = '" & True & "' And FuelOrderID = '" & ordNum & "' Order by FuelLoadDate", ReportsSQLConn)
End Select      

If Not SqlReader.IsClosed Then SqlReader.Close()

If SqlComm.Connection.State = Data.ConnectionState.Open Then
    SqlReader = SqlComm.ExecuteReader(CommandBehavior.KeyInfo)
Else
    SqlComm.Connection.Open()
    SqlReader = SqlComm.ExecuteReader(CommandBehavior.KeyInfo)
End If

Но теперь, когда дело доходит до выполнения инструкции
If Not SqlReader.IsClosed Then SqlReader.Close()
Выдает ошибку:
Object Variable Not Set To An Instance Of An Object
Я действительно не могу понять, почему это делает.
Пожалуйста, есть кто-нибудь, чтобы помочь мне?

1 Ответ

4 голосов
/ 24 марта 2011

SqlReader не был инициализирован до вызова SqlReader.IsClosed и SqlReader.Close.Вы можете проверить, является ли его nothing таким:

If SqlReader IsNot Nothing Then
    ' Do something with the SqlReader'
Else
    ' Create a new SqlReader'
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...