Saludos a todos, estoy usando lazarus y esta vez mas que un problema es una duda que quiero aclarar y es que me paso lo siguiente.
Estoy usando los componentes FIBL, tengo un componente de Base de Datos en un formulario (FORM1), y en otro Formulario(FORM2), tengo un transaction, un query y un dataset estos dos ultimos ligados al transaction.
Los componentes del FORM2 los ligue a la base de datos por medio de codigo en el evento OnCreate del mismo FORM2.
Código Delphi
[-]
Transaction.DefaultDatabase:=Form1.Database;
Query1.DefaultDatabase:=Form1.Database;
Dataset1.DefaultDatabase:=Form1.Database;
//activo el Transaction
Transaction.Active:=True;
pues resulta que despues de hacer un commit en el transaction, este pasa a estado inactivo, lo cual compruebo al ejecutar alguna consulta con el query y me marca que el transaction esta inactivo "Transaction is not active", esto lo solucione activandolo nuevamente con codigo despues de cada commit
Código Delphi
[-]
Transaction.Commit;
Transaction.Active:=True;
pero no creo que deba ser asi, ya que cuando lo activo desde el modo diseño no hay que hacer lo mismo despues de cada commit. Y mi duda seria:
¿Hay alguna forma de evitar tener que reactivar el transaction despues de cada commit?
En el caso de los datasets creo que no hay problema ya que tienen una propiedad llamada AutoStartTransaction que por lo que entiendo activa el transaction automaticamente y funciona bien pero el problema es con los Query ya que estos no tienen esa propiedad.
Espero alguien tenga una solucion o comentario que me ilustre un poco mas con respecto a estos componentes. De antemano MUCHAS GRACIAS!!!.