该部分是使用 Microsoft Visual Basic,Scripting Edition 编写对“RDS 教程”的重新说明。
本教程中,RDS.DataControl 和 RDS.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", RSEnd Sub
</SCRIPT>
</BODY>
</HTML>
本教程到此结束。