我需要在使用 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
这里的问题是使用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
。