Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-10-2010
Jose Roman Jose Roman is offline
Miembro
 
Registrado: jul 2006
Ubicación: Colombia
Posts: 361
Poder: 18
Jose Roman Va por buen camino
Bloquear un registro....

Hola a todos,

Tengo Delphi 2007, Zeos y Firebird 2.1, alguien podria darme un ejemplo en el cual cuando un usuario ingrese bloquee un registro para su edicion o borrado para los demas usuarios, he tratado de realizar esto pero no se donde estoy fallando.

Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 26-10-2010
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Hasta donde yo se, para bloquearlo, debes hacer una modificación sobre ese registro:

Si ta tabla es:
Código:
Cliente (ID, Nombre)
debes hacer un update:
Código SQL [-]
update Cliente set ID=ID where ID=ID
Esto es un update que no modifica el valor del registro (set ID=ID) pero que trabaja sobre el. Al hacer esto, otras transacciones deberán esperar a que la que hizo el update haga commit/rollback.

Los pasos serían:
  • Bloquear registro: update Cliente set ID=ID where ID=:ID
  • Hacer lo que haya que hacer. Por ejemplo pedir un nuevo nombre.
  • Modificar el registro update Cliente set Nombre=:NEW_nombre where ID=:ID
  • Terminar transacción.
Responder Con Cita
  #3  
Antiguo 26-10-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Según tengo entendido no es posible o al menos buena idea, realizar bloqueos en Firebird ya que su arquitectura
es multigeneracional,no basada en bloqueos. Por supuesto no soy experto en Firebird y baso esta idea en algunos
artículos leídos, por lo que puedo estar equivocado...

Extraido de: How to lock Record in Interbase/Firebird .
Cita:
When newbies start developing applications with IB/FB, the question they often ask, especially if their
background is with locking SQL-servers, is how to prevent users from editing some data and overwriting other’s
changes in a multi-user environment. They are looking for ways to lock records, but IB and FB do not support
explicit record locking
. More precisely, Firebird lacked it before FB 1.5, and we will speak about this at the
end of the article.
Más artículos relacionados a bloqueos con Firebird:

Bloqueo de registros en FB/IB.pdf
link1
link2


Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Bloquear un registro. ppb MySQL 0 01-03-2009 12:08:18
bloquear registro fernando1973 SQL 1 04-04-2008 17:49:45
bloquear registro!! Juan Carlos MySQL 1 17-12-2005 20:49:31
bloquear registro armando Tablas planas 2 25-10-2005 15:48:53
Bloquear 1 Registro AGAG4 Firebird e Interbase 1 14-09-2004 09:53:27


La franja horaria es GMT +2. Ahora son las 12:19:18.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi