Tema: Leer Datos
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/03/2006, 04:56
Avatar de gorka_arai
gorka_arai
 
Fecha de Ingreso: octubre-2005
Mensajes: 281
Antigüedad: 19 años, 6 meses
Puntos: 1
Cita:
Iniciado por Touch
...y como última pregunta, el 3 y 1 de esto que significa?
rs.Open sql,conn,3,1.
Wenas kolega!!
En tu caso el 3 es el Locktype (Cerrojo) y el 1 las Options (Tipo de cursor). A continuación te pongo una buena explicación de qué son ambas cosas:

Tipos de Cursor del Recordset

Un cursor corresponde a un tipo de restricción aplicable al Recordset, y que señala la forma en que se podrá recorrer este objeto. Dependiendo de cómo se configuren las propiedades del tipo de cursor del objeto Recordset, se puede recorrer y actualizar los registros. Los cursores de la base de datos se comportan como punteros que permiten encontrar un elemento específico de un conjunto de registros. Los cursores son especialmente útiles para recuperar y examinar registros, y después realizar operaciones basadas en dichos registros. Si lo que necesitamos es recorrer el Recordset en forma secuencial, lo mejor es utilizar el cursor por defecto ya que es el que consume menos recursos, agilizando las operaciones. Por el contrario, si necesitamos recorrer el Recordset de otra forma, estos son los tipos de cursores existentes:


Tipo de cursor: adOpenForwardOnly
Valor: 0
Descripción: Es el cursor por defecto y nos permite recorrer el Recordset en forma secuencial.
Tipo de cursor: adOpenKeySet
Valor: 1
Descripción: Permite movernos hacia delante y atrás. Permite observar las modificaciones en los datos del Recordset , no así si existen ingresos de nuevos registros.
Tipo de cursor: adOpenDynamic
Valor: 2
Descripción: Permite movernos en cualquier sentido, viendo cualquier modificación, ingreso o eliminación de datos del Recordset.
Tipo de cursor: adOpenStatic
Valor: 3
Descripción: Permite movernos en cualquier sentido, pero no se verá ningún cambio ocurrido en la tabla.

Una de las formas de utilizar un tipo de cursor puede ser la siguiente:

rs.Open SQL, oConn, cursor

Donde rs y oConn corresponden a objetos Recordset y Connection respectivamente, y SQL corresponde a la sentencia que contendrá la consulta a la base de datos.

Otra forma de definir el tipo de cursor de un Recordset sería utilizando la propiedad CursorType, de la siguiente forma:

rs.CursorType = cursor


Tipos de Cerrojo del Recordset

Los cerrojos deben ser utilizados casi obligatoramente en Recordset que hacen referencia a bases de datos con alta concurrencia de usuarios. Mediante la utilización de estos cerrojos podremos controlar el tipo de acceso que le daremos a los demás usuarios cuando alguien ya se encuentre modificando el Recordset. Los tipos de cerrojos que podremos utilizar son los siguientes:



Tipo de cerrojo: adLockReadOnly
Valor: 1
Descripción: Es el cerrojo por defecto y no permite modificar los registros de la tabla.
Tipo de cerrojo: adLockPessimistic
Valor: 2
Descripción: Una vez que alguien abre la tabla, ésta queda bloqueada para los demás usuarios. Con este modo se asegura la integridad de los datos.
Tipo de cerrojo: adLockOptimistic
Valor: 3
Descripción: La tabla sólo será bloqueada a los demás usuarios mientras se ejecute una operación Update. De esta forma la tabla se bloqueará durante mucho menos tiempo que con el método anterior.
Tipo de cerrojo: adBatchOptimistic
Valor: 4
Descripción: Los registros serán actualizados en modo batch.

Una de las formas de utilizar un tipo de cerrojo puede ser la siguiente:

rs.Open SQL, oConn, cursor, cerrojo

Donde rs y oConn corresponden a objetos Recordset y Connection respectivamente, y SQL corresponde a la sentencia que contendrá la consulta a la base de datos.

Otra forma de definir el tipo de cerrojo de un Recordset sería utilizando la propiedad LockType, de la siguiente forma:

rs.LockType = cerrojo

Espero no haber sido muy txapas...