Die Syntax von Rs.Open lautet wie folgt: rs.Open Source, ActiveConnection, CursorType, LockType Source ist die SQL-Anweisung, ActiveConnection ist die Datenbankverbindung, CursorType ist der Cursor und LockType ist der Datensperrtyp.
Ich entwickle oft Asp, bin mir aber über die Details nicht sicher. Hier ist eine kurze Einführung.
Normalerweise
Um Daten zu lesen, verwenden Sie rs.open sql,conn,1,1
Daten ändern: rs.open sql,conn,1,3
Daten löschen: Verwenden Sie direkt conn.execute("delete * from new where id=1").
Die Syntax von Rs.Open lautet wie folgt: rs.Open Source,ActiveConnection,CursorType,LockType
Quelle ist die SQL-Anweisung, ActiveConnection ist die Datenbankverbindung, CursorType ist der Cursor und LockType ist der Datensperrtyp.
CursorType
Ständige Beschreibung
adOpenForwardOnly(value 0) (Standardwert) öffnet einen Nur-Vorwärts-Cursor.
adOpenKeyset (Wert 1) öffnet einen Keyset-Cursor.
adOpenDynamic (Wert 2) öffnet einen dynamischen Cursor.
adOpenStatic (Wert 3) öffnet einen statischen Cursor.
LockType
Ständige Beschreibung
adLockReadOnly (Wert 1) (Standard) Schreibgeschützt – Daten können nicht geändert werden.
adLockPessimistic (Wert 2) Konservatives Sperren (einzeln) – Der Anbieter führt die erforderliche Arbeit aus, um eine erfolgreiche Bearbeitung von Datensätzen sicherzustellen, typischerweise indem er die Datensätze der Datenquelle sofort nach der Bearbeitung sperrt.
adLockOptimistic (Wert 3) Offene Sperrung (einzeln) – Der Anbieter verwendet offene Sperrung und sperrt Datensätze nur, wenn die Update-Methode aufgerufen wird.
adLockBatchOptimistic (Wert 4) Batch-Update öffnen – wird im Batch-Update-Modus verwendet (im Gegensatz zum sofortigen Update-Modus).
CursorType
0 Nur Vorwärtscursor, kann Datensätze nur vorwärts durchsuchen, unterstützt kein Paging, Recordset und Lesezeichen
1-Tasten-Set-Cursor, von anderen Benutzern vorgenommene Änderungen an Datensätzen werden im Datensatzsatz widergespiegelt, von anderen Benutzern hinzugefügte oder gelöschte Datensätze werden jedoch nicht im Datensatzsatz widergespiegelt. Unterstützt Paging, Recordset und Lesezeichen
2 Dynamische Cursor verfügen über die leistungsstärksten Funktionen, verbrauchen aber auch die meisten Ressourcen. Von Benutzern vorgenommene Änderungen an Datensätzen sowie das Hinzufügen oder Löschen von Datensätzen werden im Datensatz widergespiegelt. Unterstützt das Surfen mit vollem Funktionsumfang.
3. Ein statischer Cursor ist lediglich eine Momentaufnahme der Daten. Vom Benutzer an Datensätzen vorgenommene Änderungen sowie das Hinzufügen oder Löschen von Datensätzen werden nicht im Datensatz widergespiegelt. Unterstützt das Vorwärts- oder Rückwärtsbewegen
LockType
LockType ist der Sperrtyp des Recordsets und sein Wert ist:
1 Sperrtyp, Standard, schreibgeschützt, es können keine Änderungen vorgenommen werden
2 Datensätze sofort beim Bearbeiten sperren, das ist die sicherste Methode
3 Das Recordset wird nur gesperrt, wenn die Update-Methode aufgerufen wird, und andere vorherige Vorgänge können den aktuellen Datensatz weiterhin ändern, einfügen und löschen.
4 Datensätze werden beim Bearbeiten sowie beim Ändern, Einfügen und Löschen nicht gesperrt
rs.open sql,conn,3,2
Diese beiden sind Cursor. Ihre spezifischen Funktionen sind:
RS.OPEN SQL,CONN,A,B
A:
ADOPENFORWARDONLY(=0)
Nur lesbar, der aktuelle Datensatz kann nur nach unten verschoben werden
ADOPENKEYSET(=1)
Nur lesend, der aktuelle Datensatz kann frei verschoben werden
ADOPENDYNAMISCH(=2)
Der aktuelle Datensatz ist lesbar und beschreibbar und kann frei verschoben werden
ADOPENSTATISCH(=3)
Lese- und beschreibbar, aktuelle Datensätze können frei verschoben werden, neue Datensätze sind sichtbar
B:
ADLOCKREADONLY(=1)
Der Standardsperrtyp ist, dass das Recordset schreibgeschützt ist und Datensätze nicht geändert werden können.
ADLOCKPESSIMISTISCH(=2)
Pessimistische Sperre: Wenn ein Datensatz geändert wird, versucht der Datenanbieter, den Datensatz zu sperren, um sicherzustellen, dass der Datensatz erfolgreich bearbeitet wird. Sobald mit der Bearbeitung begonnen wird, wird der Datensatz gesperrt.
ADLOCKOPTIMISTIC(=3)
Beim optimistischen Sperren wird der Datensatz erst gesperrt, wenn der aktualisierte Datensatz mithilfe der Update-Methode übermittelt wird.
ADLOCKBATCHOPTIMISTIC(=4)
Durch die optimistische Batch-Sperre können mehrere Datensätze geändert werden. Die Datensätze werden erst gesperrt, nachdem die UpdateBatch-Methode aufgerufen wurde.
Wenn keine Datensätze geändert werden müssen, sollte ein schreibgeschützter Recordset verwendet werden, damit der Anbieter keine Erkennung durchführen muss.
Für den allgemeinen Gebrauch ist die optimistische Sperrung wahrscheinlich die beste Option, da Datensätze nur für einen kurzen Zeitraum gesperrt werden.
Die Daten werden in dieser Zeit aktualisiert. Dadurch wird der Ressourcenverbrauch reduziert.
Zusammenfassend:
sql,conn,1,1 bedeutet, dass keine Aktualisierungen zulässig sind und wird im Allgemeinen für Abfragevorgänge verwendet.
sql,conn,1,3 bedeutet, dass Aktualisierungen zulässig sind und wird im Allgemeinen für Einfüge-, Aktualisierungs- und Löschvorgänge verwendet.