我需要在使用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
答案 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
。