In diesem Artikel werden hauptsächlich die Parameter der Methode „adodb.recordset.open“ (rs.open) ausführlich erläutert.
ADO Recordset-Objekt
Das ADO-Recordset-Objekt wird zum Speichern eines Recordsets aus einer Datenbanktabelle verwendet. Ein Recordset-Objekt besteht aus Datensätzen und Spalten (Feldern).
In ADO ist dieses Objekt das wichtigste und am häufigsten verwendete Objekt zum Bearbeiten von Daten in der Datenbank.
ProgID
set objRecordset=Server.CreateObject(ADODB.recordset)
Wenn Sie ein Recordset zum ersten Mal öffnen, zeigt der aktuelle Datensatzzeiger auf den ersten Datensatz und die Eigenschaften BOF und EOF sind False. Wenn keine Datensätze vorhanden sind, sind die Eigenschaften BOF und EOF True.
Recordset-Objekte können zwei Arten von Aktualisierungen unterstützen:
Sofortiges Update – Sobald die Update-Methode aufgerufen wird, werden alle Änderungen sofort in die Datenbank geschrieben. Batch-Update – Der Anbieter speichert mehrere Änderungen zwischen und überträgt diese Änderungen dann mithilfe der UpdateBatch-Methode in die Datenbank.
In ADO sind 4 verschiedene Cursor-(Zeiger-)Typen definiert:
•Dynamische Cursor – Ermöglicht Ihnen, von anderen Benutzern vorgenommene Ergänzungen, Änderungen und Löschungen anzuzeigen
•Keyset-Cursor – Ähnlich einem dynamischen Cursor, mit der Ausnahme, dass Sie von anderen Benutzern vorgenommene Ergänzungen nicht sehen können und verhindert, dass Sie auf Datensätze zugreifen, die von anderen Benutzern gelöscht wurden. Von anderen Benutzern vorgenommene Datenänderungen sind weiterhin sichtbar.
•Statischer Cursor – Stellt eine statische Kopie eines Recordsets bereit, die zum Suchen von Daten oder zum Generieren von Berichten verwendet werden kann. Darüber hinaus sind von anderen Benutzern vorgenommene Ergänzungen, Änderungen und Löschungen nicht sichtbar. Dies ist der einzige Cursortyp, der beim Öffnen eines Client-Recordset-Objekts zulässig ist.
•Nur Vorwärts-Cursor – ermöglicht nur Vorwärtsscrollen im Recordset. Darüber hinaus sind von anderen Benutzern vorgenommene Ergänzungen, Änderungen und Löschungen nicht sichtbar.
Der Cursortyp kann über die CursorType-Eigenschaft oder den CursorType-Parameter in der Open-Methode festgelegt werden.
Hinweis: Nicht alle Anbieter unterstützen alle Methoden und Eigenschaften des Recordset-Objekts.
Freunde, die mehr über ADO Recordset-Objekte erfahren möchten, können hier weitere Inhalte anzeigen.
Wenn es sich nur um einen Lesevorgang handelt und keine Aktualisierungsvorgänge erforderlich sind, verwenden Sie 1, 1
Wenn es sich um Lese- und Aktualisierungsvorgänge handelt, können Sie 1,3 oder 3,2 verwenden
Öffnen Sie den Methodenprototyp des Recordset-Objekts:
Öffnen([Quelle],[ActiveConnection],[CursorType],[LockType],[Optionen])
CursorType Cursortyp:
Const adOpenForwardOnly = 0
Der Vorwärtscursor ist der Standardcursor und bietet die schnellste Laufleistung. Öffnen Sie damit das Recordset und erhalten Sie alle Ergebnisse in der Reihenfolge vom Paar bis zum Ende. Es unterstützt kein Rückwärtsscrollen und erlaubt nur eine Bewegung zwischen den Ergebnissen in eine Richtung.
Const adOpenKeyset = 1
Ein statischer Cursor spiegelt den Status der Daten in der Tabelle wider, wenn der Cursor zum ersten Mal geöffnet wird. Der Cursor kann nicht herausfinden, ob die Datenzeilen in der zugrunde liegenden Tabelle aktualisiert, gelöscht oder neue Daten hinzugefügt wurden. Im Gegensatz zu Kontinent-Cursor, die sich nur vorwärts bewegen können, können statische Cursor jedoch zwischen den Ergebnissen vorwärts und rückwärts scrollen.
Const adOpenDynamic = 2
Tastaturgesteuerte Cursor können einige, aber nicht alle Änderungen in den zugrunde liegenden Datenzeilen in einer Tabelle abfragen. Insbesondere spiegelt es genau wider, ob die Daten aktualisiert wurden. Es kann jedoch nicht ermittelt werden, ob andere Benutzer Datenzeilen gelöscht haben (gelöschte Datenzeilen hinterlassen Lücken im Recordset). Tastaturgesteuerte Cursor unterstützen das Vorwärts- und Rückwärtsscrollen durch die Ergebnisse.
Const adOpenStatic = 3
Dynamische Cursor sind der umfangreichste Cursortyp. Bei geöffnetem Cursor können Sie alle von anderen Benutzern an der Tabelle vorgenommenen Änderungen abfragen und das Scrollen unterstützen.
LockTypeLock-Typ:
Const adLockReadOnly = 1
Der standardmäßige Sperrtyp, die schreibgeschützte Sperre, ermöglicht es mehreren Benutzern, dieselben Daten gleichzeitig zu lesen, die Daten jedoch nicht zu ändern.
Const adLockPessimistic = 2
Öffnen Sie das Datenobjekt mit pessimistischer Sperre. Bei diesem Ansatz wird davon ausgegangen, dass andere Benutzer Zugriff auf die Daten haben, während Sie den Datensatz bearbeiten. Sobald Sie mit der Bearbeitung eines Datensatzes beginnen, können andere Benutzer nicht mehr auf die Daten zugreifen.
Const adLockOptimistic = 3
Öffnen Sie das Datenobjekt mit optimistischer Sperrung. Bei diesem Ansatz wird davon ausgegangen, dass keine anderen Benutzer auf die Daten zugreifen, während Sie den Datensatz bearbeiten. Andere Benutzer können nicht auf den Datensatz zugreifen, bis Änderungen vorgenommen werden.
Const adLockBatchOptimistic = 4
Verwenden Sie diesen Typ, wenn Sie mehrzeilige Stapelaktualisierungen durchführen
Optionsparameter:
Der Parameter „Optionen“ gibt den Typ der Befehlszeichenfolge an, die zum Öffnen des Recordsets verwendet wird. Das Teilen von ADO-Informationen über den Inhalt der ausgeführten Zeichenfolge trägt dazu bei, die Befehlszeichenfolge effizient auszuführen.
adCMDTable. Die ausgeführte Zeichenfolge enthält den Namen einer Tabelle.
adCMDText. Die ausgeführte Zeichenfolge enthält einen Befehlstext.
adCMDStoredProc. Die ausgeführte Zeichenfolge enthält den Namen einer gespeicherten Prozedur.
adCMDUUnknown. Der Inhalt der Zeichenfolge ist nicht angegeben. (Dies ist der Standardwert.)
Um es einfach auszudrücken:
RS.OPEN SQL,CONN,A,B
A: ADOPENFORWARDONLY (=0) ist schreibgeschützt und der aktuelle Datensatz kann nur nach unten verschoben werden
ADOPENSTATIC (=3) schreibgeschützt, der aktuelle Datensatz kann frei verschoben werden
ADOPENKEYSET(=1) kann gelesen und geschrieben werden und der aktuelle Datensatz kann frei verschoben werden
ADOPENDYNAMIC(=2) kann gelesen und geschrieben werden, der aktuelle Datensatz kann frei verschoben werden und neue Datensätze sind sichtbar
B: ADLOCKREADONLY(=1) Standardwert, der zum Öffnen schreibgeschützter Datensätze verwendet wird
ADLOCKPESSIMISTIC(=2) pessimistisches Sperren
ADLOCKOPTIMISTIC(=3) optimistisches Sperren
ADLOCKBATCHOPTIMISTIC(=4) Batch-optimistische Sperre