Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Commit (https://www.clubdelphi.com/foros/showthread.php?t=23797)

Loviedo 28-07-2005 19:24:42

Commit
 
Estoy realizando mi primer programa en red. Utilizo Delphi7, Firebird e IBX.
Hago prueba con dos PC e intento insertar dos registro simultáneamente. El resultado es que solo añado uno el otro PC me provoca una excepción. Parece ser, que cuando hago commit, cierra la base de datos. Como puedo solucionar esto.
Con CommitRetaining funciona bien.
Saludos, y gracias anticipadas.

islu 28-07-2005 19:36:33

Hola. El commit no te debe cerrar la base de datos, qué exceción te da?

Si es el primer programa que haces con IB, quizás debas utilizar los componentes que tiren del BDE, son un poco más lentos, pero te olvidas de commit, trabajas como si en paradox lo hicieses.

rastafarey 28-07-2005 22:00:53

Resp
 
Nunca he criticado ninguna respuesta. Pero pienso que no es recomendable que uses el bde y tner que arrastrar con las dll del mismo si puedes usas conexion directa y hay tampo componentes excelentes y gratuitos.

maeyanes 28-07-2005 22:29:21

El Commit lo único que hace es cerrar los dataset involucrados en la transacción. Pero la conexión a la base de datos no se pierde.


Saludos...

Loviedo 29-07-2005 00:43:35

El problema es el siguiente:
Tengo una tabla con varios campos que utilizo como contadores(clave primaria). Cuando hago un insert, solo se me refresca la tabla del PC en el que se realiza, mientras que en el otro PC tiene el dato antiguo y provoca el error.
Puedo hacer un refresh a la tabla de contadores antes de insertar, pero creo que lo correcto es que se refresque automáticamente y no se como hacerlo.
Saludos.Gracias a todos.

Crandel 29-07-2005 07:42:50

Esta última es otra pregunta diferente a la que iniciaste, es preferible que vala en un hilo por separado. Igualmente:

1. Podes crear un evento que se genere al insertar, modificar o borrar un registro. Este lo capturan tus aplicaciones y refrescan automanticamente.

2. Podrias probar modificando las propiedades del conponente de transacciones (hace doble click sobre él) y seleccioná a opción correcta, no me acuerdo ahora como se llama.

islu 29-07-2005 09:12:22

Cita:

Empezado por rastafarey
[...]Pero pienso que no es recomendable que uses el bde y tner que arrastrar con las dll del mismo si puedes usas conexion directa y hay tampo componentes excelentes y gratuitos[..].

Claro que sí, pero lo que yo quería decir es que el cambio de mentalidad de trabajar con un sistema cliente/servidor, es importante o al menos a mi me fue ( transacciones, ya no tenía el recno... ), por ello le comente que quizás como toma de contacto las utilizase, para comenzar a enterder la filosofía.

Estoy completamente deacuerdo contigo, pero quizás no me entendistes. ;)

Loviedo 29-07-2005 14:36:10

Gracias a todos.Saludos.


La franja horaria es GMT +2. Ahora son las 17:08:22.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi