Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Access 2013, Office 2013
In den beiden vorangegangenen Kapiteln wurde erläutert, wie Sie mithilfe von ADO eine Verbindung mit einer Datenquelle herstellen, einen Befehl ausführen, die Ergebnisse in einem Recordset -Objekt abrufen sowie innerhalb des Recordset -Objekts navigieren. Dieses Kapitel befasst sich mit dem nächsten grundlegenden ADO-Vorgang, nämlich dem Bearbeiten von Daten.
In diesem Kapitel wird weiterhin das Recordset -Beispielobjekt aus Kapitel 3 verwendet, jedoch mit einer wichtigen Änderung. Der folgende Code wird zum Öffnen des Recordset -Objekts verwendet:
. . .
'BeginEditIntro
Dim strSQL As String
Dim objRs1 As ADODB.Recordset
strSQL = "SELECT * FROM Shippers"
Set objRs1 = New ADODB.Recordset
objRs1.Open strSQL, GetNewConnection, adOpenStatic, _
adLockBatchOptimistic, adCmdText
' Disconnect the Recordset from the Connection object.
Set objRs1.ActiveConnection = Nothing
'EndEditIntro
. . .
The important change to the code involves setting the Connection object's CursorLocation property equal to adUseClient in the GetNewConnection function (shown below), which indicates the use of a client cursor. For more information about the differences between client-side and server-side cursors, see Chapter 8: Understanding Cursors and Locks.
Durch die adUseClient -Einstellung der CursorLocation -Eigenschaft wird die Cursorposition von der Datenquelle (in diesem Fall der Computer mit SQL Server) zur Position des Clientcodes (die Desktoparbeitsstation) verschoben. Diese Einstellung erzwingt, dass ADO Client Cursor Engine für OLE DB im Client aufruft, um den Cursor zu erstellen und zu verwalten.
Möglicherweise haben Sie bemerkt, dass der LockType -Parameter der Open -Methode in adLockBatchOptimistic geändert wurde. Damit wird der Cursor im Batchmodus geöffnet. (Der Anbieter speichert mehrere Änderungen und schreibt sie nur dann in die zugrunde liegende Datenquelle, wenn Sie die UpdateBatch -Methode aufrufen.) Änderungen am Recordset -Objekt werden erst in der Datenbank aktualisiert, wenn die UpdateBatch -Methode aufgerufen wird.
Finally, the code in this chapter uses a modified version of the GetNewConnection function, introduced in Chapter 2. This version of the function now returns a client-side cursor. The function looks like this:
'BeginNewConnection
Public Function GetNewConnection() As ADODB.Connection
Dim objConn1 As ADODB.Connection
Set objConn1 = New ADODB.Connection
strConnStr = "Provider=SQLOLEDB;Initial Catalog=Northwind;" & _
"Data Source=MySrvr;Integrated Security=SSPI;"
objConn1.ConnectionString = strConnStr
objConn1.CursorLocation = adUseClient
objConn1.Open
Set GetNewConnection = objConn1
End Function
'EndNewConnection
In diesem Kapitel werden die folgenden Themen behandelt: