FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Como bloquear registros sin usar campos persistentes
saludos, no se como programar esto de los bloqueos con sql server 2000,
pues no manejo campos persistentes, y lo que prendo hacer es que si alguien quiere modificar un registro o dos usuarios estan en el mismo, se bloque el registro, y mandarle un mensaje al otro usuario diciendole que esta ocupado el registro, se que el componente AdoQuery tiene algo tipo de bloqueo que por lo gral. es optimista. explico como lo ve el usuario: busca un regsitro ya sea por id o nonbre en el caso de la tabla de clientes, cuando le da el resultado, le da el boton de editar, pero simplemente lo que hago como programacion es pasar los datos a controles estandar (nada de campos persistentes), el usuario corrige los datos y guarda el registro con el boton de guardar en es momento, cierro la tabla y me guardo el ID para hacer una actualizacion con el update. Como podria implementarse que al dar un click en el boton de modificar se bloque el registro y se desbloque al guardar y como lo mencione se pueden mandar mensajes a otro user que quiera intentar editar el mismo registro. Les agradesco gracias. |
#2
|
||||
|
||||
Cita:
Con respecto a lo del mensaje, no tengo la menor idea.... Hasta Luego .-
__________________
No todo es como parece ser... |
#3
|
||||
|
||||
Pues debes iniciar una transacción cuando pretendan editar el registro.
Luego haces un update sencillo para que se bloquee, por ejemplo: Código:
AdoConnection1.BeginTrans; with AdoQuery1 do begin SQL.Close; SQL.Clear; SQL.Add('update Clientes'); SQL.Add('set Id_Cliente = Id_Cliente'); SQL.Add('where Id_Cliente = ' + IntToStr(iCliente)); ExecSQL; end; Luego, al momento de guardar, haces tus updates yliberas el bloqueo (confirmando la transacción): Código:
with AdoQuery1 do begin SQL.Close; SQL.Clear; SQL.Add('update Clientes'); SQL.Add('set Nombre = :Nombre,'); ... SQL.Add('where Id_Cliente = ' + IntToStr(iCliente)); ExecSQL; end; AdoConnection1.CommitTrans;
__________________
Tiempo y ocasión acontecen a todos! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Bloquear y Desbloquear registros php+Mysql | enecumene | PHP | 2 | 16-03-2007 19:41:44 |
Bloquear registros en Sql2000 | RJF | Varios | 0 | 18-01-2006 18:05:42 |
¿cómo puedo hallar el mínimo de la diferencia de 2 campos de todos los registros? | nuri | SQL | 8 | 28-07-2005 18:34:57 |
¿Bloquear registros en tablas foxpro 2.6? | ALMERA | Conexión con bases de datos | 0 | 25-03-2004 11:42:49 |
Añadir campos persistentes en tiempo ejecucion | Firibiri | Conexión con bases de datos | 3 | 22-12-2003 11:43:08 |
|