La sintaxis de Rs.Open es la siguiente: rs.Open Source, ActiveConnection, CursorType, LockType Source es la declaración SQL, ActiveConnection es la conexión de la base de datos, CursorType es el cursor y LockType es el tipo de bloqueo de datos.
A menudo desarrollo asp pero no estoy seguro de los detalles. Aquí hay una breve introducción.
Normalmente
Para leer datos, use rs.open sql,conn,1,1
Modificar datos: rs.open sql,conn,1,3
Eliminar datos: use directamente conn.execute ("eliminar * de nuevo donde id = 1").
La sintaxis de Rs.Open es la siguiente: rs.Open Source,ActiveConnection,CursorType,LockType
La fuente es la declaración SQL, ActiveConnection es la conexión de la base de datos, CursorType es el cursor y LockType es el tipo de bloqueo de datos.
Tipo de cursor
Descripción constante
adOpenForwardOnly(valor 0) (valor predeterminado) abre un cursor de solo avance.
adOpenKeyset (valor 1) abre un cursor de tipo conjunto de claves.
adOpenDynamic (valor 2) abre un cursor de tipo dinámico.
adOpenStatic (valor 3) abre un cursor de tipo estático.
Tipo de bloqueo
Descripción constante
adLockReadOnly (valor 1) (predeterminado) Solo lectura: los datos no se pueden cambiar.
adLockPessimistic (valor 2) Bloqueo conservador (uno por uno): el proveedor realiza el trabajo necesario para garantizar una edición exitosa de los registros, generalmente bloqueando los registros de la fuente de datos inmediatamente después de la edición.
adLockOptimistic (valor 3) Bloqueo abierto (uno por uno): el proveedor utiliza el bloqueo abierto y solo bloquea registros cuando se llama al método Update.
adLockBatchOptimistic (valor 4) Actualización por lotes abierta: se utiliza en el modo de actualización por lotes (a diferencia del modo de actualización inmediata).
Tipo de cursor
0 Solo cursor hacia adelante, solo puede buscar registros hacia adelante, no admite paginación, Recordset, BookMark
1 cursor de conjunto de teclas, las modificaciones realizadas por otros usuarios a los registros se reflejarán en el conjunto de registros, pero los registros agregados o eliminados por otros usuarios no se reflejarán en el conjunto de registros. Soporte de paginación, conjunto de registros, marcador
2 Los cursores dinámicos tienen las funciones más potentes, pero también consumen la mayor cantidad de recursos. Las modificaciones realizadas por los usuarios a los registros, agregando o eliminando registros se reflejarán en el conjunto de registros. Admite navegación con todas las funciones.
3. Un cursor estático es solo una instantánea de los datos. Las modificaciones realizadas por el usuario en los registros, la adición o eliminación de registros no se reflejarán en el conjunto de registros. Admite avanzar o retroceder
Tipo de bloqueo
LockType es el tipo de bloqueo del conjunto de registros y su valor es:
1 Tipo de bloqueo, predeterminado, solo lectura, no se pueden realizar modificaciones
2 Bloquear registros inmediatamente al editar, la forma más segura
3 El conjunto de registros se bloquea solo cuando se llama al método Actualizar y otras operaciones anteriores aún pueden cambiar, insertar y eliminar el registro actual.
4 Los registros no se bloquean durante la edición, cambios, inserciones y eliminaciones.
rs.open sql, conexión, 3,2
Estos dos son cursores, sus funciones específicas son:
RS.ABIERTO SQL,CONEXIÓN,A,B
A:
ADOPENFORWARDONLY(=0)
Sólo lectura y el registro de datos actual sólo se puede mover hacia abajo
ADOPENKEYSET(=1)
Sólo lectura, el registro de datos actual se puede mover libremente
ADOPENDINÁMICO(=2)
Legible y grabable, el registro de datos actual se puede mover libremente
ADOPENSTATICO(=3)
Legibles y escribibles, los registros de datos actuales se pueden mover libremente, se pueden ver nuevos registros
B:
ADLOCKREADONLY(=1)
El tipo de bloqueo predeterminado es que el conjunto de registros es de solo lectura y los registros no se pueden modificar.
ADLOCKPESIMISTO(=2)
Bloqueo pesimista: cuando se modifica un registro, el proveedor de datos intentará bloquear el registro para garantizar que se edite correctamente. Tan pronto como comienza la edición, el registro se bloquea.
ADLOCKOPTIMISTO(=3)
El bloqueo optimista no bloquea el registro hasta que el registro actualizado se envíe mediante el método de actualización.
ADLOCKBATCHOPTIMISTIC(=4)
El bloqueo optimista por lotes permite modificar varios registros y los registros se bloquean solo después de llamar al método UpdateBatch.
Cuando no es necesario modificar ningún registro, se debe utilizar un conjunto de registros de solo lectura para que el proveedor no necesite realizar ninguna detección.
Para uso general, el bloqueo optimista es probablemente la mejor opción, ya que los registros sólo se bloquean durante un corto período de tiempo.
Los datos se actualizan durante este tiempo. Esto reduce el uso de recursos.
Para resumir:
sql,conn,1,1 significa que no se permiten actualizaciones y generalmente se usa para operaciones de consulta.
sql,conn,1,3 significa que se permiten actualizaciones y generalmente se usa para operaciones de inserción, actualización y eliminación.