首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wql查询的execquery中的计数

wql查询的execquery中的计数
EN

Stack Overflow用户
提问于 2013-08-20 12:36:50
回答 1查看 1.3K关注 0票数 0

我正在尝试连接到lenel并使用WQL来获取结果。WQL在WMI资源管理器中运行时返回记录。

代码语言:javascript
复制
Set objServices = GetObject("winmgmts://./root/onguard")
Set cardSet = objServices.ExecQuery("select * from Lnl_Badge where id =11111")
if not cardSet is nothing then
Response.Write("<br/>cardset has something")
vContinue = true
else
Response.Write("<br/>cardSet set is nothing")
Exit Function
end if

Response.Write("<br/>count ")
Count = cardSet.Count
Response.Write(Count)

问题是Count的值是空的,程序退出当前函数。知道哪里出了问题吗。

但显示的是"Cardset has something“。

编辑:

为了检查语法,我对cim2v执行了以下操作

代码语言:javascript
复制
Set objWMIService = GetObject("winmgmts:")
Set colItems = objWMIService.ExecQuery("Select * From Win32_Process")
Response.Write(colItems.Count)
for each colItem in colItems

If Not colItem Is Nothing Then
    Response.Write("<br/>")
Response.Write(colItem.ProcessID)
end if
next

令我惊讶的是,上面的代码为什么不能正常工作呢? working....then。:(

编辑:日志文件中的错误

代码语言:javascript
复制
(Tue Aug 20 11:50:22 2013.179589208) : WDM call returned error: 4200
(Tue Aug 20 11:50:22 2013.179589208) : WDM specific return code: 4200
(Tue Aug 20 11:50:22 2013.179589208) : 
EN

回答 1

Stack Overflow用户

发布于 2013-08-20 14:29:18

根据我对WMI API参考的理解,如果您没有遇到错误,SWbemServices.ExecQuery方法将始终返回一个SWbemObjectSet对象,而不管该对象中是否有任何结果。

如果您的查询返回0个结果,那么在cardSet中仍然有一个有效的对象,所以If Not cardSet Is Nothing语句将始终触发,除非出现错误,但同时count仍将返回0。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18327031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档