Я пытаюсь сделать запрос к базе данных SQL из VBS, но если запись не найдена, я получаю сообщение об ошибкеEOF и BOF ошибка при запросе SQL базы данных
ADODB.Field: Либо BOF или EOF имеет значение ИСТИНА, или текущая запись была удалена. Запрошенная операция требует текущей записи.
Думаю, мне нужно использовать инструкцию 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
+1 При использовании ADODB достаточно указать ссылку .EOF на свой собственный, вам нужно будет объединить .BOF & .EOF при работе с DAO в MS Access, например. –