适用于:Access 2013、Office 2013
创建 ADO 项目
Microsoft Visual Basic Scripting Edition 不支持类型库,所以不需要在项目中引用 ADO。 因此,不支持命令行完成等关联功能。 而且,在默认情况下,VBScript 中没有定义 ADO 枚举常量。
但是,ADO 提供了两个包含文件,其中包含要用于 VBScript 的以下定义:
对于服务器端脚本,请使用 Adovbs.inc,默认情况下该文件安装于 c:\Program Files\Common Files\System\ado\ 文件夹中。
对于客户端脚本,请使用 Adcvbs.inc,默认情况下该文件安装于 c:\Program Files\Common Files\System\msdac\ 文件夹中。
可以将这些文件中的常量定义复制并粘贴到 ASP 页,或者,如果要执行服务器端脚本编写,请将 Adovbs.inc 文件复制到网站上的文件夹,并从 ASP 页面引用它,如下所示:
<!--#include File="adovbs.inc"-->
在 VBScript 中创建 ADO 对象
在 VBScript 中,无法使用 Dim 语句将对象赋给特定类型。 而且,在 VBScript 中不支持在 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 之间的差异
在 VBScript 中使用 ADO 与在 Visual Basic 中使用 ADO 有很多相似之处,包括语法的使用方式。 但是,还存在某些重要的差异:
VBScript 只支持变量型数据类型,该数据类型可以包含不同类型的数据。 可以将需要的数据存储在变量型数据类型中,由于 VBScript 将执行相应的转换,这些数据将适当地发挥作用。 VBScript 可以识别 ADO 需要的类型,并相应地转换变量型中的值。
不能在 VBScript 中使用
on error goto <label>
。VBScript 支持某些内置的 Visual Basic 函数,例如 Msgbox、Date 和 IsNumeric。 但是,由于 VBScript 是 Visual Basic 的子集,它仅支持部分内置函数。 例如,VBScript 不支持 Format 函数和文件 I/O 函数。