VBScript ADO 编程
创建 ADO 项目
Microsoft Visual Basic Scripting Edition 不支持类型库,因此无需在项目中引用 ADO。 因此,不支持命令行完成等关联功能。 此外,默认情况下,VBScript 中未定义 ADO 枚举常量。
但是,ADO 提供了两个包含文件,其中包含用于 VBScript 的以下定义:
对于服务器端脚本编写,请使用默认安装在 c:\Program Files\Common Files\System\ado\ folder 文件夹中的 Adovbs.inc。
对于客户端脚本编写,请使用默认安装在 c:\Program Files\Common Files\System\msdac\ 文件夹中的 Adcvbs.inc。
可以将这些文件中的常量定义复制并粘贴到 ASP 页面中,或者,如果要执行服务器端脚本编写,请将 Adovbs.inc 文件复制到网站上的文件夹,并从 ASP 页面中对其进行引用,如下所示:
<!--#include File="adovbs.inc"-->
在 VBScript 中创建 ADO 对象
不能使用 Dim 语句将对象分配到 VBScript 中的特定类型。 此外,VBScript 不支持 Visual Basic for Applications 中用于 Dim 语句的 New 语法。 必须改用 CreateObject 函数调用:
Dim Rs1
Set Rs1 = Server.CreateObject( "ADODB.Recordset" )
VBScript 示例
以下代码是 Active Server Page (ASP) 文件中 VBScript 服务器端编程的一般示例:
<% @LANGUAGE="VBSCRIPT" %>
<% Option Explicit %>
<!--#include File="adovbs.inc"-->
<HTML>
<BODY BGCOLOR="White" topmargin="10" leftmargin="10">
<!-- Your ASP Code goes here -->
<%
Dim Source
Dim Connect
Dim Rs1
Source = "SELECT * FROM Authors"
Connect = "Provider=sqloledb;Data Source=srv;" & _
"Initial Catalog=Pubs;Integrated Security=SSPI;"
Set Rs1 = Server.CreateObject( "ADODB.Recordset" )
Rs1.Open Source, Connect, adOpenForwardOnly
Response.Write("Success!")
%>
</BODY>
</HTML>
ADO 文档中包含很多特定的 VBScript 示例。 有关详细信息,请参阅 Microsoft Visual Basic Scripting Edition 中的 ADO 代码示例。
VBScript 与 Visual Basic 之间的差异
将 ADO 与 VBScript 结合使用在很多方面类似于将 ADO 与 Visual Basic 结合使用,包括语法的使用方式。 但是,存在一些重大差异:
VBScript 仅支持 Variant 数据类型,该数据类型可以保存不同类型的数据。 可以将所需的数据存储在 Variant 数据类型中,由于 VBScript 执行的强制转换,数据将正常运行。 它识别 ADO 所需的类型,并相应地转换 Variant 中的值。
不能在 VBScript 中使用 on error goto <标签>。
VBScript 支持一些内置的 Visual Basic 函数,例如 Msgbox、Date 和 IsNumeric。 但是,由于 VBScript 是 Visual Basic 的子集,因此并非所有内置函数都受支持。 例如,VBScript 不支持 Format 函数和文件 I/O 函数。