Ver Mensaje Individual
  #1  
Antiguo 20-06-2007
Avatar de flystar
flystar flystar is offline
Miembro
 
Registrado: jul 2006
Posts: 184
Reputación: 18
flystar Va por buen camino
Unhappy Como bloquear un registro de una tabla que esta en la red?

Buenos Días:

Solicito orientación o ayuda a alguna alma caritativa sobre lo siguiente lo cual me parece un asunto básico en un sistema de BD en red.

- Vamos a suponer que tenemos 3 computadoras, una de ellas tienen una base de datos MYSQL y las otras dos deberan accesar a esa misma BD para consultarla o modificarla y es posible que lo hagan al mismo tiempo.

- Imaginemos que una de las computadoras accesa la BD para modificar un registro, vamos a suponer que sea el registro No. 3 y DESPUES la otra computadora intenta modificar ese mismo registro.

- Lo mas usual que se me ocurre es que ese registro debe permanecer bloqueado hasta que la primera computadora acabe de modificarlo para que asi la otra computadora tome en cuenta que no puede modificar ese registro por que otra ya lo esta cambiando y entonces evitamos una serie de problemas.

- Mi pregunta es... como logro ese bloqueo??? En Delphi me imagino que en cada computadora que no es la que tiene la BD se crea como una copia en memoria de la BD y de esa manera probablemente cuando se intentan modificar el mismo registro al mismo tiempo no marca error por que cada una esta trabajando sobre su copia virtual. Asi sera????

- Una propuesta que se me ocurre es poner un campo que se llame "MeEstanUsando" y ponerle un "SI" si alguien la va a modificar y entonces cuando alguien mas intente modificar el mismo registro primero se debe verificar que el campo "MeEstanUsando" no tenga un "SI" y si no es asi entonces si puede modificarse.. un metodo medio rustico.. supongo que MYSQL tiene una funcion mas acertada para esto, o tal vez Delphi la tenga.

- Me doy a entender???? Gracias por su apoyo.
__________________

"Los unicos que no se equivocan son aquellos que no intentan hacer algo."
Iván Caballero Cano...
ivanhalen77@gmail.com
Responder Con Cita