找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 15083|回复: 1

[问题求助] VBS ADO对象查询SQL2000

[复制链接]
发表于 2016-5-18 10:51:07 | 显示全部楼层 |阅读模式
  1. Set oAdoConn = CreateObject("Adodb.Connection")
  2. oAdoConn.Open "Provider=SQLOLEDB;server=192.168.0.254;Database=local;uid=NetCafe;pwd=123456;"

  3. Set oAdoRecs = CreateObject("Adodb.Recordset")

  4. oAdoRecs.Open "SELECT ClientID FROM cur_useraccount ORDER BY ClientID", oAdoConn, 3, 1
  5. 'ClientID字段的值是 001 ~ 124

  6. s = "在线机器列表:|"
  7. Do Until oAdoRecs.EOF = True
  8.     s = s & oAdoRecs("ClientID").Value & "|"
  9.     oAdoRecs.MoveNext()
  10. Loop

  11. oAdoRecs.Close()
复制代码
现在我想每秒一次查询 在线机器列表
如果用Do ... Loop 的话,会不会占用系统资源过多?
这种反复查询的语句,怎么样能占用系统资源少?

还有是否可以在SQL查询时,就对比出减少的机器和增加的机器?
现在是得到s后,再进行字符串处理
发表于 2016-5-24 15:21:10 | 显示全部楼层
你不关闭数据库连接,只是重复查,不会占很多资源。
要想对比,SQLServer不支持Flashback,你可以找找替代方法,
比如上次结果放到中间表查的时候直接关联,
或者存放到程序运行时一个Scripting.Dictionary里,获取结果集的时候就对比。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 07:43 , Processed in 0.066342 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表