If the Recordset object is edited, any changes (that is, rows that are added, changed, or deleted) can be sent back to the server.
Note The default behavior of RDS can be invoked implicitly with ADO objects and the Microsoft OLE DB Remoting Provider. Queries can return Recordsets, and edited Recordsets can update the data source. This tutorial does not invoke RDS with ADO objects, but this is how it would look if it did:
Dim rs as New ADODB.Recordset rs.Open
"SELECT * FROM Authors","Provider
=MS Remote;Data Source
=Pubs;" & _"Remote Server
=http://yourServer;Remote Provider=SQLOLEDB;" ... ' Edit the Recordset. rs.UpdateBatch
' The equivalent ofSubmitChanges.
...
Part A Assume for this case that you have only used the RDS.DataControl and that a Recordset object is now associated with the RDS.DataControl. The SubmitChanges method updates the data source with any changes to the Recordset object if the Server and Connect properties are still set.
Sub RDSTutorial6A() Dim DC as New RDS.DataControl Dim RS as ADODB.Recordset DC.Server
= "http://yourServer" DC.Connect
= "DSN=Pubs" DC.SQL
= "SELECT * FROM Authors" DC.Refresh
... Set RS = DC.Recordset
' Edit the Recordset. ... DC.SubmitChanges
...
Part B Alternatively, you could update the server with the RDSServer.DataFactory object, specifying a connection and a Recordset object.
Sub RDSTutorial6B() Dim DS As New RDS.DataSpace Dim RS As ADODB.Recordset Dim DC As New RDS.DataControl Dim DF As Object Dim blnStatus As Boolean Set DF = DS.CreateObject
("RDSServer.DataFactory", "http://yourServer") Set RS = DF.Query
("DSN=Pubs", "SELECT * FROM Authors") DC.SourceRecordset
= RS ' Visual controls can now bind to DC. ' Edit the Recordset. blnStatus = DF.SubmitChanges
"DSN=Pubs", RS End Sub
This is the end of the tutorial.
Microsoft OLE DB Remoting Provider | RDS Tutorial | RDS Tutorial (VBScript) | RDS Tutorial (Visual J++)