vbscrip ADODB.RecordSet RecordCount无法正常工作

时间:2018-07-25 11:47:03

标签: vbscript ado

我正在尝试从以下SQL查询输出中返回记录数:

  

SELECT状态,总计运行时间,来自sys.dm_exec_requests的文本   交叉应用sys.dm_exec_sql_text(sql_handle)WHERE status ='running'   AND文字,例如'%Insert%'AND total_elapsed_time>'1'

当我在SSMS中手动运行SQL查询时,有时我拥有并输出,有时却没有。

这是我脚本中的IF条件:

If Not (objRS.BOF AND objRS.EOF) then objRS.MoveFirst               
Do Until objRS.EOF
                if objRS.RecordCount > 0 then

                                 '#objAPI.LogScriptEvent 
                                 Call oBag.AddValue("State","BAD")
                                 Call oBag.AddValue("TotalElapsedTime",CustomValue1)
                                 Call objAPI.Return(oBag)
                else
                                 '#objAPI.LogScriptEvent 
                                 Call oBag.AddValue("State","GOOD")
                                 Call oBag.AddValue("TotalElapsedTime",CustomValue1)
                                 Call objAPI.Return(oBag)
                end if
                objRS.MoveNext
Loop
objRS.Close

出于某种原因,我从我的vbscript中得到了相反的值:

当有输出(RecordCount> 0)时,我得到的是'GOOD'值,而不是'BAD'值。

当没有输出时, 有时我从脚本中获取空白输出,有时我获取无输出时显示以下错误消息:

  

C:\ Users \ TEMP.RESOURCE.004 \ Desktop \ SMSHafatzaLongRun.vbs(35,1)   ADODB.Field:将其BOF或EOF设置为True,或者当前记录具有   已被删除。请求的操作需要当前记录。

0 个答案:

没有答案