Freigeben über


Save- und Open-Methode – Beispiel (VB)

In diesen drei Beispielen wird veranschaulicht, wie die Methoden Save und Open zusammen verwendet werden können.

Angenommen, Sie gehen auf Geschäftsreise und möchten eine Tabelle aus einer Datenbank mitnehmen. Vor Ihrer Abreise greifen Sie auf die Daten als Recordset zu und speichern sie in einem übertragbaren Format. Wenn Sie an Ihrem Bestimmungsort ankommen, greifen Sie auf das Recordset als lokales, getrenntes Recordset-Objekt zu. Sie nehmen Änderungen am Recordset vor, und speichern es dann wieder. Wenn Sie nach Hause zurückkehren, stellen Sie erneut eine Verbindung mit der Datenbank her und aktualisieren sie mit den Änderungen, die Sie unterwegs vorgenommen haben.

Zuerst greifen Sie auf die Tabelle Authors zu und speichern sie.

'BeginSaveVB  
  
    'To integrate this code  
    'replace the data source and initial catalog values  
    'in the connection string  
  
Public Sub Main()  
    On Error GoTo ErrorHandler  
  
    'recordset and connection variables  
    Dim rstAuthors As ADODB.Recordset  
    Dim Cnxn As ADODB.Connection  
    Dim strCnxn As String  
    Dim strSQLAuthors As String  
  
    ' Open connection  
    Set Cnxn = New ADODB.Connection  
    strCnxn = "Provider='sqloledb';Data Source='MySqlServer';" & _  
        "Initial Catalog='Pubs';Integrated Security='SSPI';"  
    Cnxn.Open strCnxn  
  
    Set rstAuthors = New ADODB.Recordset  
    strSQLAuthors = "SELECT au_id, au_lname, au_fname, city, phone FROM Authors"  
    rstAuthors.Open strSQLAuthors, Cnxn, adOpenDynamic, adLockOptimistic, adCmdText  
  
    'For sake of illustration, save the Recordset to a diskette in XML format  
    rstAuthors.Save "c:\Pubs.xml", adPersistXML  
  
    ' clean up  
    rstAuthors.Close  
    Cnxn.Close  
    Set rstAuthors = Nothing  
    Set Cnxn = Nothing  
    Exit Sub  
  
ErrorHandler:  
    'clean up  
    If Not rstAuthors Is Nothing Then  
        If rstAuthors.State = adStateOpen Then rstAuthors.Close  
    End If  
    Set rstAuthors = Nothing  
  
    If Not Cnxn Is Nothing Then  
        If Cnxn.State = adStateOpen Then Cnxn.Close  
    End If  
    Set Cnxn = Nothing  
  
    If Err <> 0 Then  
        MsgBox Err.Source & "-->" & Err.Description, , "Error"  
    End If  
End Sub  
'EndSaveVB  

An diesem Punkt sind Sie an Ihrem Bestimmungsort angekommen. Sie greifen auf die Tabelle Authors als lokales, getrenntes Recordset zu. Auf Ihrem Computer muss der MSPersist-Anbieter vorhanden sein, mit dem Sie auf die gespeicherte Datei zugreifen, „a:\Pubs.xml“.

Attribute VB_Name = "Save"  

Schließlich kehren Sie nach Hause zurück. Nun aktualisieren Sie die Datenbank mit Ihren Änderungen.

Attribute VB_Name = "Save"  

Weitere Informationen

Open-Methode (ADO-Recordset)
Recordset-Objekt (ADO)
Weitere Informationen zur Beibehaltung von Recordsets
Save-Methode