此頁(yè)沒(méi)有內(nèi)容條目
內(nèi)容

RDS 教程 (VBScript)

該部分是使用 Microsoft Visual Basic,Scripting Edition 編寫(xiě)對(duì)“RDS 教程”的重新說(shuō)明。

本教程中,RDS.DataControlRDS.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é)束。