Este artículo presenta principalmente la explicación detallada de los parámetros del método adodb.recordset.open (rs.open). Los amigos que lo necesiten pueden consultarlo.
Objeto conjunto de registros ADO
El objeto ADO Recordset se utiliza para contener un conjunto de registros de una tabla de base de datos. Un objeto Recordset consta de registros y columnas (campos).
En ADO, este objeto es el objeto más importante y más utilizado para operar con datos en la base de datos.
ID de programa
establecer objRecordset=Server.CreateObject(ADODB.recordset)
Cuando abre un conjunto de registros por primera vez, el puntero del registro actual apuntará al primer registro y las propiedades BOF y EOF serán False. Si no hay registros, las propiedades BOF y EOF son Verdaderas.
Los objetos Recordset pueden admitir dos tipos de actualizaciones:
Actualización inmediata: una vez que se llama al método de actualización, todos los cambios se escriben en la base de datos inmediatamente. Actualización por lotes: el proveedor almacenará en caché varios cambios y luego los transferirá a la base de datos mediante el método UpdateBatch.
En ADO, se definen 4 tipos diferentes de cursor (puntero):
•Cursores dinámicos: le permite ver las adiciones, cambios y eliminaciones realizadas por otros usuarios.
•Cursor de conjunto de teclas: similar a un cursor dinámico, excepto que no puede ver las adiciones realizadas por otros usuarios y le impide acceder a registros que han sido eliminados por otros usuarios. Los cambios de datos realizados por otros usuarios aún son visibles.
•Cursor estático: proporciona una copia estática de un conjunto de registros que se puede utilizar para buscar datos o generar informes. Además, las adiciones, cambios y eliminaciones realizadas por otros usuarios no serán visibles. Este es el único tipo de cursor permitido al abrir un objeto Recordset de cliente.
•Sólo cursor hacia adelante: sólo permite el desplazamiento hacia adelante en el conjunto de registros. Además, las adiciones, cambios y eliminaciones realizadas por otros usuarios no serán visibles.
El tipo de cursor se puede establecer mediante la propiedad CursorType o el parámetro CursorType en el método Open.
Nota: No todos los proveedores admiten todos los métodos y propiedades del objeto Recordset.
Los amigos que quieran saber más sobre los objetos ADO Recordset pueden ir aquí para ver más contenido.
Si es solo lectura y no implica operaciones de actualización, utilice 1, 1
Si se trata de operaciones de lectura y actualización, puede utilizar 1,3 o 3,2
Prototipo de método abierto del objeto Recordset:
Abrir([Fuente],[ActiveConnection],[Tipo de cursor],[Tipo de bloqueo],[Opciones])
CursorType Tipo de cursor:
Anuncio constanteOpenForwardOnly = 0
El cursor de avance es el cursor predeterminado y proporciona el rendimiento de ejecución más rápido. Úselo para abrir el conjunto de registros y obtener todos los resultados en orden desde el par hasta el final. No admite el desplazamiento hacia atrás y solo permite el movimiento unidireccional entre resultados.
Const adOpenKeyset = 1
Un cursor estático refleja el estado de los datos en la tabla cuando el cursor se abre por primera vez. El cursor no puede descubrir si las filas de datos en la tabla subyacente se han actualizado, eliminado o si se han agregado nuevos datos. Sin embargo, a diferencia de los cursores continentales, que sólo pueden avanzar, los cursores estáticos pueden desplazarse hacia adelante y hacia atrás entre los resultados.
Const adOpenDynamic = 2
Los cursores controlados por teclado pueden consultar algunos, pero no todos, los cambios en las filas de datos subyacentes de una tabla. En particular, refleja con precisión si los datos han sido actualizados. Pero no puede descubrir si otros usuarios han eliminado filas de datos (las filas de datos eliminadas dejarán agujeros en el conjunto de registros). Los cursores controlados por teclado admiten el desplazamiento hacia adelante y hacia atrás a través de los resultados.
Const adOpenStatic = 3
Los cursores dinámicos son el tipo de cursor más rico. Cuando el cursor está abierto, puede consultar cualquier cambio realizado en la tabla por otros usuarios y admitir el desplazamiento.
LockTypeTipo de bloqueo:
Const adLockReadOnly = 1
El tipo de bloqueo predeterminado, el bloqueo de solo lectura, permite que varios usuarios lean los mismos datos al mismo tiempo, pero no pueden cambiarlos.
Const adLockPesimista = 2
Abra el objeto de datos con bloqueo pesimista. Este enfoque supone que otros usuarios tendrán acceso a los datos mientras usted edita el registro. En este punto, una vez que comienza a editar un registro, otros usuarios no pueden acceder a los datos.
Const adLockOptimistic = 3
Abra el objeto de datos mediante bloqueo optimista. Este enfoque supone que ningún otro usuario accederá a los datos mientras edita el registro. Otros usuarios no pueden acceder al registro hasta que se realicen cambios.
Const adLockBatchOptimistic = 4
Utilice este tipo al realizar actualizaciones por lotes de varias filas
Parámetros de opciones:
El parámetro Opciones indica el tipo de cadena de comando utilizada para abrir el conjunto de registros. Darle a ADO información sobre el contenido de la cadena que se está ejecutando ayuda a ejecutar la cadena de comando de manera eficiente.
adCMDTable. La cadena que se ejecuta contiene el nombre de una tabla.
adCMDText. La cadena que se está ejecutando contiene un texto de comando.
adCMDStoredProc. La cadena que se ejecuta contiene un nombre de procedimiento almacenado.
adCMDUDesconocido. El contenido de la cadena no está especificado. (Éste es el valor predeterminado).
En pocas palabras:
RS.ABIERTO SQL,CONEXIÓN,A,B
R: ADOPENFORWARDONLY (=0) es de solo lectura y el registro de datos actual solo se puede mover hacia abajo
ADOPENSTATIC (=3) sólo lectura, el registro de datos actual se puede mover libremente
ADOPENKEYSET(=1) se puede leer y escribir, y el registro de datos actual se puede mover libremente
ADOPENDYNAMIC(=2) se puede leer y escribir, el registro de datos actual se puede mover libremente y se pueden ver nuevos registros
B: valor predeterminado de ADLOCKREADONLY(=1), utilizado para abrir registros de solo lectura
ADLOCKPESSIMISTIC(=2) bloqueo pesimista
ADLOCKOPTIMISTIC(=3) bloqueo optimista
ADLOCKBATCHOPTIMISTIC(=4) bloqueo optimista por lotes