該部分是使用 Microsoft Visual Basic,Scripting Edition 編寫(xiě)對(duì)“RDS 教程”的重新說(shuō)明。
本教程中,RDS.DataControl 和 RDS.DataSpace 是在設(shè)計(jì)時(shí)創(chuàng)建的,就是說(shuō)它們通過(guò)對(duì)象標(biāo)記進(jìn)行定義,如 <OBJECT>...</OBJECT>。此外,它們也可在運(yùn)行時(shí)通過(guò) Server.CreateObject 方法創(chuàng)建。例如,RDS.DataControl 對(duì)象的創(chuàng)建可以是:
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 — 指定服務(wù)器程序
VBScript 可以發(fā)現(xiàn)它運(yùn)行其上的 IIS Web 服務(wù)器的名稱,方法是訪問(wèn)可用于 Active Server Pages 的 VBScript Request.ServerVariables 方法:
"http://<%=Request.ServerVariables("SERVER_NAME")%>"
不過(guò)對(duì)于本教程,將使用假設(shè)的服務(wù)器“yourServer”。
注意 請(qǐng)留意 ByRef 參數(shù)的數(shù)據(jù)類型。VBScript 不允許指定變量類型,因此必須始終傳遞變體型。使用 HTTP 時(shí),RDS 允許將變體型傳遞給希望使用非變體型的方法,以便使用 RDS.DataSpace 對(duì)象的 CreateObject 方法進(jìn)行調(diào)用。當(dāng)使用 DCOM 或過(guò)程中服務(wù)器時(shí),必須使客戶端與服務(wù)器端的數(shù)據(jù)類型相匹配,否則將會(huì)產(chǎn)生“類型不匹配”錯(cuò)誤。
Set DF1 = DS1.CreateObject("RDSServer.DataFactory", "http://yourServer")
步驟 2a — 通過(guò) RDS.DataControl 調(diào)用服務(wù)器程序
該范例只是注釋,說(shuō)明 RDS.DataControl 的默認(rèn)行為是執(zhí)行指定的查詢。
<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 — 通過(guò) RDSServer.DataFactory 調(diào)用服務(wù)器程序
步驟 3 — 服務(wù)器獲得 Recordset
步驟 4 — 服務(wù)器返回 Recordset
Set RS = DF1.Query("DSN=pubs", "SELECT * FROM authors")
步驟 5 — 使 DataControl 能被可視控件使用
' 將返回的記錄集指定到 DataControl。
DC1.SourceRecordset = RS
步驟 6a — 使用 RDS.DataControl 將更改返回服務(wù)器
該范例只是注釋,說(shuō)明 是如何執(zhí)行更新的。
<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
' 編輯記錄集對(duì)象.
' SERVER 和 CONNECT 屬性已經(jīng)在步驟 2A 中設(shè)置。
Set DC1.SourceRecordset = RS
...
DC1.SubmitChanges
步驟 6b — 通過(guò) RDSServer.DataFactory 將更改返回服務(wù)器
DF.SubmitChanges "DSN=pubs", RS
End Sub
</SCRIPT>
</BODY>
</HTML>
本教程到此結(jié)束。