0

我有一段在 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 是数据库中的数值。当 rCode 值在 QTP 中作为 varchar 提供时,例如 'er',SQL 服务器会抛出一个错误 Invalid column name 'er' 这会停止我的 QTP AUT。

我想知道为什么“On Error Resume Next”无法处理此错误。任何建议都会有所帮助。作为一种解决方法,如果 rCode 不是数字,我只是想跳过这个 sql 查询。

4

1 回答 1

3

在我看来,您的“解决方法”——如果没有合适的参数则不执行 SQL——是正确的解决方案。

如果你想禁用 .Open 行的正常错误捕获,OERN 必须在它之前:

On Error Resume Next
objRecordSet.Open "select regn_code from region where regn_code  ='" & rCode & "'",objConnection 
...
于 2013-05-23T12:55:30.470 回答