我有一段我在QTP中运行的vbscript代码
objRecordSet.Open "select regn_code from region where regn_code ='" & rCode & "'",objConnection
On Error Resume Next
If Err.Number <> 0 Then
Reporter.ReportEvent micFail,"Error in " & module,"" & ErrObject.Description
End If
On error goto 0
rCode是Database中的数值。当在QTP中将rCode值作为varchar提供,例如'er'时,SQL服务器会抛出一个错误 无效的列名'er'停止我的QTP AUT。
我想知道为什么'On Error Resume Next'无法处理此错误。任何建议都会有帮助。作为一种解决方法,我只是试图跳过这个SQL查询,如果rCode是非数字的。
答案 0 :(得分:3)
在我看来,你的“解决方法” - 如果没有合适的参数则不执行SQL - 是正确的解决方案。
如果要禁用.Open行的正常错误捕获,OERN必须先行:
On Error Resume Next
objRecordSet.Open "select regn_code from region where regn_code ='" & rCode & "'",objConnection
...