Ver Mensaje Individual
  #8  
Antiguo 31-05-2005
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 378
Reputación: 24
lbuelvas Va por buen camino
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.
Responder Con Cita