« Server Application Error禁止页面被放入框架页 »

通过脚本语言使用 ADO

在脚本环境中,ADO 允许以服务器端脚本方式显露数据。在此方案中,ADO(脚本语言所使用的基本 OLE DB 提供者)和引用给定数据存储所需的所有其他组件都安装在运行 Internet Information Services (IIS) 的服务器上。在使用 Active Server Pages (ASP) 时,ADO 是可以生成如 HTML 语言的脚本所引用的一个组件。HTML 的内容可以通过 HTTP 传递到客户端 Web 浏览器。通过使用脚本,Web 页可以将操作发送回服务器端脚本,从而允许您更新、移动或查看特定数据。

如果使用了 ODBC 数据源,那么它将是脚本 ADO 代码与非脚本 ADO 代码之间的一个明显区别。对于非脚本应用程序,您可以在“ODBC 数据源管理器”中创建一个“用户 DSN”。对于在 IIS 环境下运行的脚本,必须创建一个“系统 DSN”,否则脚本将无法识别您创建的数据源。这适用于所有通过 Microsoft IIS 使用 Microsoft OLE DB Provider for ODBC 的 ADO 脚本应用程序。

在 VBScript 中使用 ADO


创建 ADO 工程
VBScript 不支持类型库,因此不必在工程中引用 ADO。也因而不支持相关联的功能,例如通过命令行完成。默认情况下,ADO 枚举常量也不在 VBScript 中定义。

但是,ADO 可向您提供两个包含文件,它们包含下列将在 VBScript 中使用的定义:

对服务器端脚本使用 Adovbs.inc。默认情况下,它安装在 c:\Program Files\Common Files\System\ado\ 文件夹中。


对客户端脚本使用 Adcvbs.inc。默认情况下,它安装在 c:\Program Files\Common Files\System\msdac\ 文件夹中。
您可以从这些文件中复制常量定义并将它们粘贴到 ASP 页上;如果您正在编写服务器端脚本,也可将 Adovbs.inc 文件复制到您的 Web 站点的文件夹中,然后再从 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;User Id=sa;Password=;"

Set Rs1 = Server.CreateObject( "ADODB.Recordset" )
Rs1.Open Source, Connect, adOpenForwardOnly
Response.Write("Success!")
%>
</BODY>
</HTML>


VBScript 与 Visual Basic 的区别
通过 VBScript 使用 ADO 与通过 Visual Basic 使用 ADO 在许多方面都是相似的,包括使用的语法。但它们之间却存在着明显的区别:

VBScript 只支持 Variant 数据类型,该数据类型可保存各种不同类型的数据。您可将所需的数据存储为 Variant 数据类型,这些数据将通过 VBScript 执行以发挥相应的作用。它可以识别 ADO 所需的类型,并相应地转换 Variant 中的值。


不能在 VBScript 中使用 on error goto <label>。


VBScript 支持某些内置 Visual Basic 函数,如 Msgbox、Date 和 IsNumeric。但由于 VBScript 是 Visual Basic 的一个子集,因此它并不支持所有内置函数。例如,VBScript 不支持 Format 函数和文件 I/O 函数。

在 JScript 中使用 ADO


创建 ADO 工程
JScript 不支持类型库,因此不必在工程中引用 ADO。也因而不支持相关联的功能,如通过命令行完成。默认情况下,ADO 枚举常量也不在 JScript 中定义。

但是,ADO 向您提供了两个包含文件,它们包含下列将在 JScript 中使用的定义:

对服务器端脚本使用 Adojavas.inc。默认情况下,它安装在 c:\Program Files\Common Files\System\ado\ 文件夹中。


对客户端脚本使用 Adcjavas.inc。默认情况下,它安装在 c:\Program Files\Common Files\System\msdac\ 文件夹中。
您可以从这些文件中复制常量定义并将它们粘贴到 ASP 页上;如果您正在编写服务器端脚本,也可将 Adojavas.inc 文件复制到您的 Web 站点的文件夹中,然后再从 ASP 页上引用,如下所示:

<!--#include File="adojavas.inc"-->

在 JScript 中创建 ADO 对象
您必须使用 CreateObject 函数调用:

var Rs1;
Rs1 = Server.CreateObject("ADODB.Recordset");

JScript 范例
下列代码是 JScript 服务器端编程的一个普通范例,在可打开 Recordset 对象的 Active Server Page (ASP) 文件中:

<% @LANGUAGE="JScript" %>
<!--#include File="adojavas.inc"-->
<HTML>
<BODY BGCOLOR="White" topmargin="10" leftmargin="10">
<%
var Source = "SELECT * FROM Authors";
var Connect = "Provider=sqloledb;Data Source=srv;" +
"Initial Catalog=Pubs;User Id=sa;Password=;"
var Rs1 = Server.CreateObject( "ADODB.Recordset.2.5" );
Rs1.Open(Source,Connect,adOpenForwardOnly);
Response.Write("Success!");
%>
</BODY>
</HTML>

原创文章如转载,请注明:转载自悠悠博客 [ http://www.ajaxstu.com/ ]

相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。