使用VBScript成功执行sql时返回数据库消息

时间:2017-10-05 22:57:19

标签: vbscript adodb

我需要在使用vbscript成功执行sql语句时捕获sql消息。这是我的代码。

Public Function ExecuteAPI_String(sql_Statement)
Dim num 
On Error Resume Next
Set objRecordSet = objConnection.Execute sql_Statement,num,adExecuteNoRecords
If Err.Number <> 0 Then
    ExecuteSQLStatement_String = Err.description
    objRecordSet.Close
    Err.Clear
Else
    ExecuteAPI_String = num & "records were affected"
    objRecordSet.Close
End If

1 个答案:

答案 0 :(得分:0)

这里的问题是On Error Resume Next的使用,因为它会导致任何语句错过被跳过并设置Err对象。如果您注释掉On Error Resume Next,您将看到实际错误,这与SQL行查询的执行无关;

Set objRecordSet = objConnection.Execute sql_Statement,num,adExecuteNoRecords

不是一个有效的陈述,因为该方法需要被括号括起来;

Set objRecordSet = objConnection.Execute(sql_Statement, num, adExecuteNoRecords)

您还需要确保传递给Execute()方法的所有值都有效(例如adExecuteNoRecords正确定义)

一旦您确定该行正确执行,您就可以取消注释On Error Resume Next