Got the answer in the below link.
http://stackoverflow.com/questions/30781212/rolling-back-transaction-doesnt-work-with-tpfib-components?noredirect=1#comment49820919_30781212
Solution:
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 [email protected]
[firebird-support]" <[email protected]> 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.
Vishal
#yiv3810353250 #yiv3810353250 -- #yiv3810353250ygrp-mkp {border:1px solid
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv3810353250
#yiv3810353250ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv3810353250
#yiv3810353250ygrp-mkp #yiv3810353250hd
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px
0;}#yiv3810353250 #yiv3810353250ygrp-mkp #yiv3810353250ads
{margin-bottom:10px;}#yiv3810353250 #yiv3810353250ygrp-mkp .yiv3810353250ad
{padding:0 0;}#yiv3810353250 #yiv3810353250ygrp-mkp .yiv3810353250ad p
{margin:0;}#yiv3810353250 #yiv3810353250ygrp-mkp .yiv3810353250ad a
{color:#0000ff;text-decoration:none;}#yiv3810353250 #yiv3810353250ygrp-sponsor
#yiv3810353250ygrp-lc {font-family:Arial;}#yiv3810353250
#yiv3810353250ygrp-sponsor #yiv3810353250ygrp-lc #yiv3810353250hd {margin:10px
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv3810353250
#yiv3810353250ygrp-sponsor #yiv3810353250ygrp-lc .yiv3810353250ad
{margin-bottom:10px;padding:0 0;}#yiv3810353250 #yiv3810353250actions
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv3810353250
#yiv3810353250activity
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv3810353250
#yiv3810353250activity span {font-weight:700;}#yiv3810353250
#yiv3810353250activity span:first-child
{text-transform:uppercase;}#yiv3810353250 #yiv3810353250activity span a
{color:#5085b6;text-decoration:none;}#yiv3810353250 #yiv3810353250activity span
span {color:#ff7900;}#yiv3810353250 #yiv3810353250activity span
.yiv3810353250underline {text-decoration:underline;}#yiv3810353250
.yiv3810353250attach
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px
0;width:400px;}#yiv3810353250 .yiv3810353250attach div a
{text-decoration:none;}#yiv3810353250 .yiv3810353250attach img
{border:none;padding-right:5px;}#yiv3810353250 .yiv3810353250attach label
{display:block;margin-bottom:5px;}#yiv3810353250 .yiv3810353250attach label a
{text-decoration:none;}#yiv3810353250 blockquote {margin:0 0 0
4px;}#yiv3810353250 .yiv3810353250bold
{font-family:Arial;font-size:13px;font-weight:700;}#yiv3810353250
.yiv3810353250bold a {text-decoration:none;}#yiv3810353250 dd.yiv3810353250last
p a {font-family:Verdana;font-weight:700;}#yiv3810353250 dd.yiv3810353250last p
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv3810353250
dd.yiv3810353250last p span.yiv3810353250yshortcuts
{margin-right:0;}#yiv3810353250 div.yiv3810353250attach-table div div a
{text-decoration:none;}#yiv3810353250 div.yiv3810353250attach-table
{width:400px;}#yiv3810353250 div.yiv3810353250file-title a, #yiv3810353250
div.yiv3810353250file-title a:active, #yiv3810353250
div.yiv3810353250file-title a:hover, #yiv3810353250 div.yiv3810353250file-title
a:visited {text-decoration:none;}#yiv3810353250 div.yiv3810353250photo-title a,
#yiv3810353250 div.yiv3810353250photo-title a:active, #yiv3810353250
div.yiv3810353250photo-title a:hover, #yiv3810353250
div.yiv3810353250photo-title a:visited {text-decoration:none;}#yiv3810353250
div#yiv3810353250ygrp-mlmsg #yiv3810353250ygrp-msg p a
span.yiv3810353250yshortcuts
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv3810353250
.yiv3810353250green {color:#628c2a;}#yiv3810353250 .yiv3810353250MsoNormal
{margin:0 0 0 0;}#yiv3810353250 o {font-size:0;}#yiv3810353250
#yiv3810353250photos div {float:left;width:72px;}#yiv3810353250
#yiv3810353250photos div div {border:1px solid
#666666;height:62px;overflow:hidden;width:62px;}#yiv3810353250
#yiv3810353250photos div label
{color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv3810353250
#yiv3810353250reco-category {font-size:77%;}#yiv3810353250
#yiv3810353250reco-desc {font-size:77%;}#yiv3810353250 .yiv3810353250replbq
{margin:4px;}#yiv3810353250 #yiv3810353250ygrp-actbar div a:first-child
{margin-right:2px;padding-right:5px;}#yiv3810353250 #yiv3810353250ygrp-mlmsg
{font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv3810353250
#yiv3810353250ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv3810353250
#yiv3810353250ygrp-mlmsg select, #yiv3810353250 input, #yiv3810353250 textarea
{font:99% Arial, Helvetica, clean, sans-serif;}#yiv3810353250
#yiv3810353250ygrp-mlmsg pre, #yiv3810353250 code {font:115%
monospace;}#yiv3810353250 #yiv3810353250ygrp-mlmsg *
{line-height:1.22em;}#yiv3810353250 #yiv3810353250ygrp-mlmsg #yiv3810353250logo
{padding-bottom:10px;}#yiv3810353250 #yiv3810353250ygrp-msg p a
{font-family:Verdana;}#yiv3810353250 #yiv3810353250ygrp-msg
p#yiv3810353250attach-count span {color:#1E66AE;font-weight:700;}#yiv3810353250
#yiv3810353250ygrp-reco #yiv3810353250reco-head
{color:#ff7900;font-weight:700;}#yiv3810353250 #yiv3810353250ygrp-reco
{margin-bottom:20px;padding:0px;}#yiv3810353250 #yiv3810353250ygrp-sponsor
#yiv3810353250ov li a {font-size:130%;text-decoration:none;}#yiv3810353250
#yiv3810353250ygrp-sponsor #yiv3810353250ov li
{font-size:77%;list-style-type:square;padding:6px 0;}#yiv3810353250
#yiv3810353250ygrp-sponsor #yiv3810353250ov ul {margin:0;padding:0 0 0
8px;}#yiv3810353250 #yiv3810353250ygrp-text
{font-family:Georgia;}#yiv3810353250 #yiv3810353250ygrp-text p {margin:0 0 1em
0;}#yiv3810353250 #yiv3810353250ygrp-text tt {font-size:120%;}#yiv3810353250
#yiv3810353250ygrp-vital ul li:last-child {border-right:none
!important;}#yiv3810353250