Ver Mensaje Individual
  #3  
Antiguo 11-06-2008
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Reputación: 23
poliburro Va por buen camino
Cita:
Empezado por StartKill Ver Mensaje
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ú
Amigo, Sql server es un motor sumamente poderoso, y es de verdad un desperdicio manejar las transacciones en tus clientes.

Te recomiendo que utilices procedimientos almacenados de tal manera que solo en aquellos que ejecutan sentencias de inserción, modificación o borrado esten en bloques transaccionales. De esa manera tus aplicaciones Cliente servidor serán sumamente potentes y libres de los fallos que comentas.

Saludos.
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita