RDS 教程 (VBScript)

该部分是使用 Microsoft Visual Basic,Scripting Edition 编写对“RDS 教程”的重新说明。

本教程中,RDS.DataControlRDS.DataSpace 是在设计时创建的,就是说它们通过对象标记进行定义,如 <OBJECT>...</OBJECT>。此外,它们也可在运行时通过 Server.CreateObject 方法创建。例如,RDS.DataControl 对象的创建可以是:

Set DC = Server.CreateObject("RDS.DataControl")

<!-- RDS.DataControl -->

<OBJECT

ID="DC1" CLASSID="CLSID:BD96C556-65A3-11D0-983A-00C04FC29E33">

</OBJECT>

<!-- RDS.DataSpace -->

<OBJECT

ID="DS1" WIDTH=1 HEIGHT=1

CLASSID="CLSID:BD96C556-65A3-11D0-983A-00C04FC29E36">

</OBJECT>

<SCRIPT LANGUAGE="VBScript">

Sub RDSTutorial()

Dim DF1 as Object

步骤 1 — 指定服务器程序

VBScript 可以发现它运行其上的 IIS Web 服务器的名称,方法是访问可用于 Active Server Pages 的 VBScript Request.ServerVariables 方法:

"http://<%=Request.ServerVariables("SERVER_NAME")%>"

不过对于本教程,将使用假设的服务器“yourServer”。

注意   请留意 ByRef 参数的数据类型。VBScript 不允许指定变量类型,因此必须始终传递变体型。使用 HTTP 时,RDS 允许将变体型传递给希望使用非变体型的方法,以便使用 RDS.DataSpace 对象的 CreateObject 方法进行调用。当使用 DCOM 或过程中服务器时,必须使客户端与服务器端的数据类型相匹配,否则将会产生“类型不匹配”错误。

Set DF1 = DS1.CreateObject("RDSServer.DataFactory", "http://yourServer")

步骤 2a — 通过 RDS.DataControl 调用服务器程序

 

该范例只是注释,说明 RDS.DataControl 的默认行为是执行指定的查询。

<OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID="DC1">

<PARAM NAME="SQL" VALUE="SELECT * FROM authors">

<PARAM NAME="Connect" VALUE="DSN=Pubs;">

<PARAM NAME="Server" VALUE="http://YourServer/">

</OBJECT>

...

<SCRIPT LANGUAGE="VBScript">

Sub RDSTutorial2A()

Dim RS as New ADODB.Recordset

DC1.Refresh

Set RS = DC1.Recordset

...

步骤 2b — 通过 RDSServer.DataFactory 调用服务器程序

步骤 3 — 服务器获得 Recordset

步骤 4 — 服务器返回 Recordset

Set RS = DF1.Query("DSN=pubs", "SELECT * FROM authors")

步骤 5 — 使 DataControl 能被可视控件使用

' 将返回的记录集指定到 DataControl。

DC1.SourceRecordset = RS

步骤 6a — 使用 RDS.DataControl 将更改返回服务器

该范例只是注释,说明 是如何执行更新的。

<OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID="DC1">

<PARAM NAME="SQL" VALUE="SELECT * FROM authors">

<PARAM NAME="Connect" VALUE="DSN=Pubs;">

<PARAM NAME="Server" VALUE="http://YourServer/">

</OBJECT>

...

<SCRIPT LANGUAGE="VBScript">

Sub RDSTutorial6A()

Dim RS as New ADODB.Recordset

DC1.Refresh

...

Set RS = DC1.Recordset

' 编辑记录集对象.

' SERVER 和 CONNECT 属性已经在步骤 2A 中设置。

Set DC1.SourceRecordset = RS

...

DC1.SubmitChanges

步骤 6b — 通过 RDSServer.DataFactory 将更改返回服务器

DF.SubmitChanges "DSN=pubs", RS

End Sub

</SCRIPT>

</BODY>

</HTML>

本教程到此结束。