Поделиться через


Пример сохранения и открытия методов (VB)

В этих трех примерах показано, как можно совместно использовать методы Save и Open.

Предположим, что вы идете на бизнес-поездку и хотите взять на себя таблицу из базы данных. Прежде чем перейти, вы обращаетесь к данным в виде набор записей и сохраните его в транспортируемой форме. При поступлении в место назначения вы обращаетесь к набору записей в качестве локального, отключенного Набор записей. Вы вносите изменения в набор записей , а затем сохраните его еще раз. Наконец, при возвращении домой вы снова подключитесь к базе данных и обновите ее с изменениями, внесенными на дороге.

Во-первых, доступ и сохранение таблицы авторов.

'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  

На этом этапе вы прибыли в место назначения. Вы получите доступ к таблицеавторовкак локальную, отключенную набор записей. У вас должен быть поставщик MSPersist на компьютере, который вы используете для доступа к сохраненном файлу, a:\Pubs.xml.

Attribute VB_Name = "Save"  

Наконец, вы вернеесь домой. Теперь обновите базу данных с изменениями.

Attribute VB_Name = "Save"  

См. также

Open Method (ADO Recordset)
объекта набора записей
дополнительные сведения о сохраняемости набора записей
метод сохранения