![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Hola foro,
No sea si el caso aplica, pero en las nuevas aplicaciones que estoy desarrollando me toco hacer algo especial con los IBDataset. Resulta que si tienes campos calculados o que son actualizables por los triggers e incluso por algunos procedimientos almacenados, estos campos no deberian estar en la propiedad ModifySQL. Esto se debe a que, cuando tu colocas un registro en edicion con un objeto IBDataset, tienes del lado del cliente el valor del campo en el momento que abriste el IBDataset (Cliente1). Si el otro usuario (Cliente2) ejecuto el procedimiento y cambio el valor del campo, cuando el Cliente1 de grabar (Dataset.Post) va a mandar hacia el motor de base de datos el valor que habia traido originalmente, es decir, reescribiria con un valor antiguo. En cierto aplicativo me pasaba que los saldos de los clientes en un sistema de facturacion con una frecuencia de uno o dos clientes al mes, se descuadraban, y busque y busque y nada, pues resulta que otro proceso actualizaba el saldo y casualmente habia otro usuario modificando algun campo menor del cliente como el telefono o direccion. La solucion, si el campo es mantenido por triggers o procedimientos almacenados, no debe ser actualizable desde el cliente. En algunos sistemas se necesita que un procedimiento actulice datos , por ejemplo, si se ha descuadrado un invetario, razon en la que no deberia haber usuarios conectados para realizar dicha actividad. Podrias dar mas detalles para ayudar con alguna solucion ?
__________________
Luis Fernando Buelvas T. |
|
#2
|
|||
|
|||
|
Bien recibida
Pues gracias vos Jachguate, voy a probar con los bloqueos optimistas y de alguna manera informarle e los usuarios que el registro esta bloqueado, la verdad me parece un poco chapucera esa forma de manejar datos con los componentes IBX, lo que se me ocurre tambien es utilizar TUpdateSQL, ya que estos me permitiran realizar la lectura de datos, y al momento de actualizar realizar una relectura de datos para poder actualizar correctamente. Ya probare y colocare aca mis resultados.
Gracias |
|
#3
|
|||
|
|||
|
Asunto resuelto
Bueno gracias por las respuestas quiero contarles que segui los consejos de Ibuelvas de no colocar en el ModifySQL los campos que son modificados por medio de SP o Triggers y todo va a la perfeccion siempres seguire con mas pruebas y cualquier cosa por aca me veran
Hasta Luego y gracias |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|