• Domingo 22 de Diciembre de 2024, 14:00

Autor Tema:  Bloqueo Registros En Ado  (Leído 2395 veces)

juanaca

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Bloqueo Registros En Ado
« en: Martes 24 de Mayo de 2005, 11:12 »
0
Hola a tod@s, resulta que en mí aplicación utilizo ADO, y mediante codigo hago la siguiente captura de registros de una tabla.La cuestión es como puedo hacer que todos esos registros permanecan bloqueados en la base de datos a otros usuarios hasta que acabe su procesamiento......

Gracias chat@s

'Creamos la conexión con la tabla Registro
Set dbAux = New Connection
dbAux.CursorLocation = adUseServer
dbAux.Open "PROVIDER=MSDASQL;dsn=odbcXX;uid=;pwd=;"
Set RSRegistro = New Recordset
cadena = "select * from REGISTRO_PERFILES"
RSRegistro.Open cadena, dbAux, adOpenDynamic,adLockPessimistic"

Widark

  • Miembro MUY activo
  • ***
  • Mensajes: 246
    • Ver Perfil
Re: Bloqueo Registros En Ado
« Respuesta #1 en: Martes 24 de Mayo de 2005, 16:16 »
0
Hola juanaca!

Estube leyendo y de la forma como abres el recordset, bloqueas el registro desde que lo empiezan a editar hasta su actualización ya sea que lo modifiquen o no, si por el contrario lo que quieres es bloquear las tablas para que no ingrese ningun usuario cuando ejecutes un proceso, deberas validar antes de abrir la tabla si esta disponible, creo que este link te podria servir:
http://www.softwaremix.net/viewtopic-389452.html

Saludos.
[:], Yo si se lo que es trabajar duro, por que lo he visto.
http]
programacion,c,c++,
C#,java,linux,videojuegos,
directX,.NET,allegro,asm,codigo
NoSolocodigo --> Blog de Articulos

juanaca

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Bloqueo Registros En Ado
« Respuesta #2 en: Martes 24 de Mayo de 2005, 19:38 »
0
Gracias Widark por contestar, a ver te cuento, tengo el codigo que te indique que en teoría bloquea que nadie pueda modificar el registro, pues bien parando la ejecución (con el paso a paso de vbasic) justo despues de editar el registro

"RSRegistro!campo=XX"

resultad que si quiero acceder directamente a pelo con MSAccess a la tabla: bloqueada: ok,  pero con otra instancia del programa accedo a la tabla con las opciones: adOpenStatic, adLockBatchOptimistic y te aseguro que puede leer y además modificar el registro en cuestión, ¿ :blink: ?, no se si es por la forma de trabajar :adLockBatchOptimistic , no lo se, por eso se me ocurrió intentar bloquear todos los registros del RS que he leido o en su defecto toda la puñetera tabla....Por eso me interesa mucho cuando dices eso de validar y demás, pero no entiendo, he ido a la dirección en cuestión y sigo sin saber a que te refieres puedes detallarmelo un poco ;) ,

Gracias tio por todo

Widark

  • Miembro MUY activo
  • ***
  • Mensajes: 246
    • Ver Perfil
Re: Bloqueo Registros En Ado
« Respuesta #3 en: Martes 24 de Mayo de 2005, 23:15 »
0
Hola Juanaca!

Podrías tener una casilla de verificación en la tabla que se active cuando algún usuario empiece a editarlo, lo deberías guardar en ese mismo instante, así cada ves que editen verificas si esta casilla esta activada para mostrar un mensaje o algo que informe que ese registro esta bloqueado, cuando el usuario termine de editar y cancele o guarde los cambios le quitas la marca a esta casilla.

Hasta donde entiendo  :huh:  adLockBatchOptimistic te guarda los datos en el búfer hasta que decides actualizar la tabla, así que los cambio no se visualizan hasta que hagas este proceso, creo que podrías utilizar  adLockOptimistic que te va actualizando los datos de una.

Como se puede ingresar a la tabla desde otra imagen del programa podrías crear una archivo de texto con las tablas abiertas y solamente vas y lo lees con la tabla que el usuario necesita si la encuentra es porque esta abierta ya sea por la misma aplicación o una imagen, por ahora esto es lo que se me ocurre si tengo algo mejor te comentare, espero le ayude en algo.

Saludos, aaaa, otra cosa podrias visitar este link: http://msdn.microsoft.com/library/default....ocktypeenum.asp
 :comp:
[:], Yo si se lo que es trabajar duro, por que lo he visto.
http]
programacion,c,c++,
C#,java,linux,videojuegos,
directX,.NET,allegro,asm,codigo
NoSolocodigo --> Blog de Articulos