Ver Mensaje Individual
  #4  
Antiguo 11-06-2008
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Reputación: 21
StartKill Va por buen camino
Gracias por su respuestas,...

La figura en general es la siguiente... (no utilizo temporales ni nada por el estilo) todo en las tablas.

Estoy manejando 3 tablas en forma simultanea:
1ra tabla cabecera de facturas
2da tabla detalle de facturas
3ra tabla saldo de clientes

Como es de suponer la 2da tabla tendrá mas de un registro y las otras dos tablas solo sera un registro por cada movimiento. (cada factura)

No se si es correcto, pero, yo en Firebird hago un startransaction (en la maquina cliente) cuando el usuario va hacer el ingreso de la factura, entonces, el usuario empieza a llenar la cabecera y le hace un post, luego empieza a llenar los registros (en una grilla) de venta en la tabla detalle y cuando el usuario termina su trabajo...tiene basicamente dos opciones grabar/commit ó Cancelar/Cancel.

Presiona grabar y se actualiza la tabla saldos, luego procede hacer el commit y si ocurre algun error el programa hace un Rollback, caso contrario termina de hacer el commit.

Retomando.. cuando un user esta haciendo la factura sin que haga el commit , y en ese momento entra otro usuario, se lee con total transparencia los datos de las tres tablas (es decir solo lee los registros que fueron commiteados) ni se detiene, ni se corta.. eso mismo deseo hacer con sql server 2000.

ContraVeneno >>mi duda es: si yo hago que en un boton-X esté begintransacction con el commit esto no me fucionaria, por que?, por que el cliente antes de presionar el boton-X, ya navegó por la grilla, insertando registros. navegando por los registros detalle, modificando, borrando...(ya se hizo commit solito, ni siquier le dije que haga begintransacion, creo que esta por defecto)

poliburro>>me indicas: que haga procedures.. debo suponer que se refieren hacer un procedure por cada accion: delete, insert, update.. pero me surguiria el mismo problema.. que tal si el user depues de haber hecho 10 items en los detalles se arrepiente?.. no puedo hacer un rollback..

A lo mejor estoy resolviendo el requerimiento de forma equivocada, se que no soy el primero que va cambiar de firebird para trabajar slqserver 2000.

Que me aconsejan señores

Saludos cordiales

Your friend

StartKill
Lima-Perú
Responder Con Cita