Ver Mensaje Individual
  #1  
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
Manejo de transacciones

Buenas foro,

Alguien podria guiame en mi aventura

Tengo:
  1. Windows XP SP2
  2. Delphi 7.0
  3. MS SQL Server 2000

Estoy utilizando componentes ADO, todo bien, llego a visualizar una tabla que hice, la tengo dentro de un grid.
Asi mismo le he puesto unos botones:
Btn_StartTransaction--> form1.ADOConnection1.BeginTrans;
btn_Commit--> form1.ADOConnection1.CommitTrans;
btn_Rollback--> form1.ADOConnection1.RollbackTrans;
btn_Refresh--> form1.ADODataSet1.Refresh;
btn_Reopen--> form1.ADODataSet1.Close; form1.ADODataSet1.Open;

Ademas en el componete ADOConnection le he asignado lo siguiente a la propiedad: IsolationLevel=ilReadCommitted

Todo excelente, las acciones de los botones me funciona de maravilla..no hay quejas..

Casos de Uso:
1er caso.- (excelente, sin problemas)
La pc-01 abre el programa. (solo abre para mirar)
La pc-02 abre el programa. (solo abre para mirar)

2do caso.- (tengo problemas)
La pc-01 abre el programa. (presiona Btn_StartTransaction y añade un registro sin aun hacer un btn_Commit)
La pc-02 (Abre el programa pero no visualiza nada "no se ve el programa en ejecucion pero esta en memoria", pero cuando la PC-01 da un commit, inmediatamnete se visualiza la tabla en la PC-02).

Sospecho que mi programa quiere mostrar todos los registros confurmados con un commit y es por ello que la espera de la PC-02.

La idea es que en las PC's solo se visualice los registros que ya estan en commit.. que los cliente no esperen que los demas confirmen.. espero ser claro con mi requerimiento.

No se que estare haciendo nal. estoy seguro que me falta algo.. no puedo cometer el error de hace muchos años cuando decia: HUmm que mal. el Delphi no trabaja bien con base de datos extrañas a Borland...

Saludos cordiales

Your friend

StartKill
Lima-Perú
Responder Con Cita