开发者网络 动网主机 支持论坛 邮局 帮助
当前位置:网络学院ASP技术远程脚本 → 用 WSH 想ASP 一样 查询数据库
用 WSH 想ASP 一样 查询数据库
日期:2001年9月20日 作者:chinajj 人气:     [ ]
WSH是Windows脚本宿主文件。
用VBscript和Jscript都可以编写 WSH 脚本。
要注意尽管 IE浏览器和WSH使用同样的的语言
引擎,但它们不支持同样的对象模型。例如WSH不支持用于用户输出的window.document对象。
WSH环境不提供扩展的用户界面(向IE浏览器那样的),WSH 对象模型不暴露用户界面
事件(例如在HTML脚本中的onlick事件),IE浏览器提供的事件处理机制在WSH环境中没有用处。
但是,WSH也是支持事件处理的。
下面是两个最简单的WSH脚本 hello.vbs 和 hello.js

'------------
'hello.vbs
wscript.echo " hello,word "
'------------

//-----------
//hello.js
WScript.echo (" hello,word ");
//特别注意用js编写时,大小写时敏感的。如:WScript 写成了 wscript 就会报错!
//-----------

WSH 可以使用ActiveX组件,如ADO、File Access 对象或CDO for NTS,但WSH
不能使用任何内置的Ative Server Page 对象,如Appliation、Session或Request 对象等。
下面的脚本 search.vbs 用 ADO 查询SQL Server:
'-------
'search.vbs
Set conn = wscript.CreateObject("ADODB.Connection")
conn.Open"driver={sql server};server=000.000.00.00;uid=you;pwd=your password;"&"database=yourdata;"
Set RS = Conn.Execute( "SELECT * FROM yourtable order by id desc" )
for i = 0 to RS.Fields.Count - 1
wscript.echo RS( i ).name
next
while not RS.EOF
for i = 0 to RS.Fields.Count - 1
wscript.echo RS( i ).value
next
RS.MoveNext
wend
'-------
除了使用 wscript.CreateObject 而不是使用 server.CreateObject 来创建
Activex 对象实例、用wscript.echo而不是使用 response.write 来现示输出外
,这个脚本与ASp脚本完全一样。在WSH版本1(被称作 Windows Scripting Host)中有一个局限就是不能把其它文件包含在WSH脚本中,没有同ASP中 #include 等效的指令。这种局限的后果之一就是无法把ADO常量文件(adovbs.inc) 包含在WSH 脚本中。要使用 ADO 常量,必须把改文件的内容复制到 WSH 文件中或在脚本
中使用常量的源值。两种办法都不是很好。
好在 Microsoft 总能找到解决办法,在WSH版本2(被称作 Windows Script Host)中除了可以使用.vbs 和 .js
之外。Microsoft还定义了一种新的文件格式,其扩展名是.wsf(即"Windows script file")。与.vbs 和 .js 一样,.wsf文件是文本文档,但是它包含 Extensible Markup Language (XML)代码。一个最小的.wsf 文件
具有以下结构 如 hello.wsf:
<job id="t1">
<script language="vbscript">
wscript.echo "Hello,word"
</script>
</job>
上面的例子代码中只包括创建可执行.wsf 文件所需的最少的XML元素。基于兼容XML文档规格的原因
,推荐在.wsf文件中使用扩展的结构,如下 hello_1.wsf:
<?xml version="1.0" encoding="GB2312"?>
<job id="t1">
<script language="vbscript">
<![CDATA][
wscript.echo "Hello,word"
]]>
</script>
</job>
把<script>元素的内容封装在在 <![CDATA][ ... ]]>结构中。

.wsf 文件可以包含 .js 和 .vbs 文件。
如 hello_2.wsf:
<?xml version="1.0" encoding="GB2312"?>
<job id="t1">
<script language="JScript" src="hello.js"/>
<script language="vbscript">
<![CDATA][
wscript.echo "世界,你好"
]]>
</script>
</job>
这样就可以解决包含 adovbs.inc 问题。将adovbs.inc 中的 "<%" 和 "%>" 删除后重命名为adovbs.vbs
,再将search.vbs 重新组织成search.wsf 这样就可以包含adovbs.vbs了。
如下:
<?xml version="1.0" encoding="GB2312"?>
<job id="t1">
<script language="vbscript" src="adovbs.vbs"/>
<script language="vbscript">
<![CDATA][
Set conn = wscript.CreateObject("ADODB.Connection")
conn.Open"driver={sql server};server=000.000.00.00;uid=you;pwd=yourpassword;"&"database=yourdata;"
Set RS = Conn.Execute( "SELECT * FROM title1 order by id desc" )
for i = 0 to RS.Fields.Count - 1
wscript.echo RS( i ).name
next
while not RS.EOF
for i = 0 to RS.Fields.Count - 1
wscript.echo RS( i ).value
next
RS.MoveNext
wend
]]>
</script>
</job>

以上脚本在 windows me ,Windows Script Host Version 5.6 下测试通过。
想了解更多WSH的信息去 微软网站 http://msdn.microsoft.com/scripting/

(出处:chinaasp)

相关文章:
 
·数据库查询中的特殊字符的问题
·在ASP中使用SQL语句之2:用WHERE子句设置查询条件
·在ASP中使用SQL语句之6:存储查询
·使用NextRecordset通过一个Connection输出多个select查询
·组合查询之核心:拼接字符串
·怎么样写一段高效,安全的sql查询代码
·WSH 直接将查询数据结果生成 EXCEL 表
·最简洁的多重查询的解决方案
·关于INDEX SERVER+ASP建立查询引擎的一点心得
·用正则表达式突出显示字符串中查询到的单词的函数
相关软件:
 
·风云在线成绩查询系统 v1.0
·我爱啦(52.La)多功能查询系统
·Alexa排名查询系统超强ASP版 v1.120
·企业员工手机号码查询
·内蒙古工业大学理学院成绩查询系统
·25175 全球邮编、区号查询系统 v1.5
·网站信息查询工具--pr 网站收录查询 Build 0811
·SoGuo火车时刻查询小偷 v2.0
·25175 IP地址归属地查询程序 v1.1
·全国身份证查询系统(带数据库) Build 0719
说明:本站部分内容收集于网络,如有侵犯您的权益请来信告知,我们会第一时间进行处理,谢谢
 → 特别推荐
 → 热点TOP10

关于本站 | 诚聘英才 | 业务合作 | 联系我们 | 广告合作 | 收藏本站

海口动网先锋网络科技有限公司版权所有
Copyright ? 2000 - 2003 AspSky.Net
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077