Power Builder - Bloqueo de registros

   
Vista:

Bloqueo de registros

Publicado por Carolina (74 intervenciones) el 28/11/2014 17:59:22
Hola! tengo ejecutandose una aplicacion multiusuarios, y este problema, no se como hacer para que si un usuario abre una ventana de reserva de hotel, entonces que esa reserva no pueda ser abierta por otro usuario para modificarla.Hasta ahora no me pasa y necesito saber como hacer para que cuando uno la abra se me quede bloqueada para todos los demás hasta que el usuario que la abrió CIERRE ESA VENTANA.(Pues en esa ventana se pueden hacer muchas cosas con esa reserva).
MUCHAS GRACIAS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Bloqueo de registros

Publicado por Jorge (41 intervenciones) el 28/11/2014 21:22:47
Supongo que la reserva es para una habitación ya definida, la cual se encuentra registrada en una tabla de habitaciones. Agrega un campo a esa tabla, un flag que te indique si la habitación está siendo procesada (1) o está libre (0). Luego al abrir tu ventana de reserva, lo primero que debes hacer es validar que la el flag de la habitación sea = '0', si es '1' muestra un mensaje indicando que no puede modificar y cierra la ventana; si es '0' actualiza el flag de la habitación a '1' y permite hacer la reserva. Y al cerrar la ventana vuelves a actualizar dicho flag a '0'.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Bloqueo de registros

Publicado por Carolina (74 intervenciones) el 29/11/2014 19:29:41
Ok! yo habia lo pensado así, pero el flag lo pondria en la tabla de reservas, porque si es cierto que la reserva es para una habitación que ya está definida en una tabla de habitaciones, pero la reserva puede ocupar mas de 1 habitación y la orden de alojamiento que emite el programa a los pasajeros, lo emite para las habitaciones involucradas en la reserva.
Bueno, MUCHAS GRACIAS,estoy contenta porque igual iba por el camino correcto, la verdad es que la ventana de la reserva tiene diferentes procesos que tocan varias tablas (anticipos, cargos adicionales, etc.) por esto es que el flag lo tiene que tener la reserva, asique GRACIAS NUEVAMENTE!!!!!!!!!!!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Bloqueo de registros

Publicado por angel garcia v (55 intervenciones) el 01/12/2014 23:54:23
Hola Carolina

El problema radica en que se bloquean los registros en la base de datos, la solución es administrar los bloqueos desde la base de datos.

Si la base de datos es SQL SERVER existe la sentencia NOLOCK que se coloca despues del FROM de la sentencia select.

Para el motor de base de datos que estén utilizando debe existir una forma de eliminar bloqueos desde base de datos.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Bloqueo de registros

Publicado por Carolina (74 intervenciones) el 02/12/2014 00:00:58
Gracias Angel! igualmente ya lo resolví con el flag indicando si la reserva está accedida por algún usuario entonces no deja que otro acceda y sinó la puede acceder cualquier otro usuario.No se si te entendí bien, pero lo que yo quiero es bloquear ese registro no desbloquearlo.Muchas gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Bloqueo de registros

Publicado por Carolina (74 intervenciones) el 02/12/2014 14:14:45
Hola Jorge: me queda una duda, yo puse el flag en la tabla de reservas para marcar (1) cuando estaba siendo accedida, ahora, si por algún motivo al usuario se le cierra mal el programa y no llega a cambiar ese flag, entonces no podrían acceder los otros usuarios mas a esa reserva no? asique yo pensaba le pongo entonces el usuario que la esta accediendo como otro campo y que al loguearse al sistema me deje en cero el flag que pudiera estar en 1 para el usuario que está ingresando al sistema no? Muchas gracias!!!!!!!!!!!!!! (sinó cada vez que no puedan acceder a una reserva me van a estar llamando si ven que nadie esta modificandola!)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Bloqueo de registros

Publicado por Jorge (41 intervenciones) el 02/12/2014 18:00:49
Si es una buena opción la que mencionas para evitar los bloqueos por cierres inesperados del sistema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Bloqueo de registros

Publicado por Carolina (74 intervenciones) el 02/12/2014 18:51:07
Muchas gracias Jorge!!!!!! ya lo arreglé y lo mandé y todavía no ha saltado errores asique está funcionando bárbaro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar