2016-12-16 3 views
2

У меня есть запрос:Как просмотреть результат запроса?

sqlPU = "SELECT num_uti FROM myTable WHERE C_IDENT_A = '5' 

, но я не знаю, чтобы просмотреть мой результат.

Я стараюсь это, но он не работает

req.Open sqlPU, oConn 

If Not req.EOF Then 
    Set resultSet = oConn.Execute(sqlPU) 
    For Each result In resultSet 
     WScript.Echo resultSet.Fields(num_uti).Value 
    Next 
End if 

ответ

3

Попробуйте реструктуризации код, как это;

Dim oConn, req, sqlPU 
'Create connection 
Set oConn = CreateObject("ADODB.Connection") 
Call oConn.Open("yourconnectionstring") 

'Set query 
sqlPU = "SELECT num_uti FROM myTable WHERE C_IDENT_A = '5'" 

'Open recordset 
Set req = CreateObject("ADODB.Recordset") 
Call req.Open(sqlPU, oConn) 

'Loop the return data 
Do While Not req.EOF 
    'Output field called num_uti. 
    WScript.Echo req.Fields("num_uti").Value 
    'Move to next record 
    Call req.MoveNext() 
Loop 
'Clean-up 
Call req.Close() 
Set req = Nothing 

Call oConn.Close() 
Set oConn = Nothing 

Код в вопросе есть несколько вопросов,

  • Строка запроса sqlPU отсутствует терминатор строка символов (") и вызовет синтаксическую ошибку.
  • При вызове .Open() на ADODB.Recordset он населен и может перемещаться с помощью Do петли и .MoveNext() метод, дополнительный .Execute() вам не требуется и повторно запускает тот же запрос снова. Метод .MoveNext() сообщает ADODB.Recordset перемещать его указатель 1, как только он достигнет конца, значение .EOF будет равно True. Без .MoveNext() указатель не будет перемещаться за конец файла (EOF), и цикл будет работать бесконечно или до тех пор, пока сценарий не упадет, ни один из которых не является хорошим.
  • с использованием колонн Ссылки на .Fields() коллекцию требуют либо индекс (порядковое числовое значение, начиная с 0) или строкой, содержащей псевдоним столбца (в данном случае "num_uti"). В исходном коде псевдоним столбца не был строкой, которая означает, что VBScript предположил бы, что это переменная, называемая num_uti, и потому, что num_uti не инициализирован, она потерпит неудачу.

 Смежные вопросы

  • Нет связанных вопросов^_^