Subject Re: [firebird-support] Commiting Data is Not Working
Author Vishal Tiwari
Got the answer in the below link.


I would also advise you to allocate the one transaction component to all the datasets (rather than the database). And use the start, commit, rollback methods of the transaction component. Further, you must assign the transaction component before you do any operations.

Enjoy !!!

On Thursday, 18 June 2015 5:15 PM, "Vishal Tiwari vishualsoft@... [firebird-support]" <> wrote:

Hi Helen, Hi All,

I have one issue with the transaction, let me explain in detail what is happening...

I am using Delphi 2010 with FIB Plus components ( TpFIBDatabase, TpFIBTransaction and TpFIBDataSet ), and Firebird as database.

Case 1:

I have an existing customer's database, on which Commit is not working in any case. I have created a demo project in that I have placed all new FIB component and tried to Commit the changes. But the changes are not getting Committed.

But in the current project (not a demo project), when I say Dataset.Post; (Dataset.AutoCommit is set to False) and after some process the data is posted to the database, where it was not supposed to be.

Case 2:

I have created a new database, in that created only one table with two fields. I have created a sample project in that I used above said FIB components are tried to Commit and Rollback the changes.

It was working fine and suddenly it stopped working on Committing the changes.

Then I created another sample project just copied TpFIBDatabase component and then created all other component newly and till now everything is working fine on the newly created database.

I explained the Case 2, because in Case 1 the data is getting Commited even it was not suppoed to be. So in the Case 2 I copied the same FIB componets just to check whether they could post the data into the database. Surprisingly, none of the FIB component including newly created or copied from the working project able to Commit the changes.

So I would like to learn about the firebird database littely bit in detail, is there anything I need to look on my customer's Firebird database, like locking or isolation level.

What could be the issue for not able to Commit the changes on the customer's database in Case 2 ?

With Best Regards.