Ошибка EOF и BOF при запросе базы данных SQL

Я пытаюсь запросить базу данных SQL из vbs, но когда запись не найдена, я получаю сообщение об ошибке

ADODB.Field :Либо BOF, либо EOF имеет значение True, либо текущая запись был удален. Для запрошенной операции требуется текущая запись.

Я думаю, что мне нужно использовать оператор IF NOT, чтобы зафиксировать, если запись не найдена, но я не могу понять, куда она должна идти.

Do Until objFile.AtEndofStream
    strAppName = objFile.ReadLine

    ConnString="DRIVER={SQL Server};SERVER=aardvark002;UID=***;PWD=***;DATABASE=DEW_Users"
    SQL = "USE Win7AppData SELECT " & Chr(34) & strCountry & Chr(34) & " FROM AppsByCountry WHERE Application = '" & strAppName & "'"

    Set Connection = CreateObject("ADODB.Connection")
    Set Recordset = CreateObject("ADODB.Recordset")
    Connection.Open ConnString
    Recordset.Open SQL,Connection
    strApproval = Recordset(strCountry)
    If StrApproval = "YES" Then
        strApproval = "Approved"
    Else
        strApproval = "Denied"
    End If
    objExcel.Cells(intRow, 1).Value = strAppname 
    objExcel.Cells(intRow, 2).Value = strCountry
    objExcel.Cells(intRow, 3).Value = strApproval
    intRow = intRow + 1
Loop
6
задан SysDragon 11 March 2015 в 13:46
поделиться