您所在的步驟...
? | 指定在服務(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é)束。