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

步驟 6: 將更改返回服務(wù)器(RDS 教程)

您所在的步驟...

?指定在服務(wù)器上調(diào)用的程序,并獲得代理。

 

?調(diào)用服務(wù)器程序,將參數(shù)傳遞給表明數(shù)據(jù)源和所發(fā)命令的服務(wù)器程序。

 

?較為典型的是通過(guò)使用 ADO,服務(wù)器程序從數(shù)據(jù)源獲得 Recordset 對(duì)象。

 

?服務(wù)器程序?qū)⒆罱K的 Recordset 對(duì)象返回客戶端應(yīng)用程序。

 

?在客戶端,可選擇將 Recordset 對(duì)象置為易于可視控件使用的形式。

 

?將對(duì) Recordset 對(duì)象的更改返回服務(wù)器并用來(lái)更新數(shù)據(jù)源。

討論

如果對(duì) Recordset 對(duì)象進(jìn)行編輯,任何更改(即對(duì)行的增加、修改或刪除)都可以返回服務(wù)器。

注意   TRDS 的默認(rèn)行為可通過(guò) ADO 對(duì)象和 Microsoft OLE DB Remoting Provider 隱式調(diào)用。查詢可返回記錄集,而被編輯的記錄集則可更新數(shù)據(jù)源。本教程不通過(guò) ADO 對(duì)象調(diào)用 RDS,但在這里給出它的形式。

Dim rs as New ADODB.Recordset

rs.Open "SELECT * FROM authors", "Provider=MS Remote;Data Source=pubs;Remote Server=http://YourServer"

...            '編輯記錄集

rs.UpdateBatch    '等值于 SubmitChanges

...

A 部分   假設(shè)在這里只使用了 RDS.DataControl 并且 Recordset 對(duì)象現(xiàn)在已與 RDS.DataControl 關(guān)聯(lián)。如果 Server and Connect 屬性已設(shè)置,SubmitChanges 方法將把對(duì) Recordset 對(duì)象的任何改動(dòng)更新到數(shù)據(jù)源。

Sub RDSTutorial6A()

Dim DC as New RDS.DataControl

Dim RS as New ADODB.Recordset   '可選擇 ADOR.Recordset

DC.Server = "http://yourServer"

DC.Connect = "DSN=pubs"

DC.SQL = "SELECT * FROM authors"

DC.Refresh

...

Set RS = DC.Recordset

...                           '編輯 Recordset

...

DC.SubmitChanges

...

B 部分   另外,您也可以通過(guò)指定連接和 Recordset 對(duì)象,使用 RDSServer.DataFactory 對(duì)象更新服務(wù)器。

Sub RDSTutorial6B()

Dim DS as New RDS.DataSpace

Dim RS as New ADODB.Recordset   '可選擇 ADOR.Recordset

Dim DC as New RDS.DataControl

Dim DF as Object

Set DF = DS.CreateObject("RDSServer.DataFactory", "http://yourServer")

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

DC.SourceRecordset = RS         '可視控件現(xiàn)在可綁定到 DC.

...                           '編輯 Recordset

blnStatus = DF.SubmitChanges "DSN=pubs", RS

本教程到此結(jié)束。