[Lazarus] SQLTransaction: Operation cannot be performed on an active transaction
Eric Kom
erickom at metropolitancollege.co.za
Tue Jun 4 16:54:56 CEST 2013
On 04/06/2013 10:19, Antonio Fortuny wrote:
> Le 04/06/2013 09:56, Eric Kom a écrit :
>> Good day all;
>>
>> I am trying to set the Active property of TSQLTransaction to False so
>> that I can avoid the above Read Error message:
>> SQLTransaction: Operation cannot be performed on an active transaction
>> The True value is currently set to True.
>>
> Try SQLTransaction.Commit or SQLTransaction.RollBack instead,
> depending on the case. Afterwards you can do whatever you need with
> the transaction.
> Do not use the Retaining methods as they do not desactivate the
> transaction.
> If the underlying database is Firebird, use Commit preferably to
> RollBack unless the former job has to be really rollbacked.
Thanks, I did changed to Commit and then caNone before it solved the
error, another error message pop up saying Access Violation. Anyway, the
problem was solved.
The above code its giving me a problem; the SQLQuery do not changed
according to the condition for exemple if the first condition matched,
the second condition is still going to use the matching from the first
and vice versa.
else if (cbbList.Items[cbbList.ItemIndex] = lisList1) then begin
DataModuleConn.SQLTransaction1.Active:=True;
DataModuleConn.SQLQuery1.SQL.Text:='SELECT year, country,
gender FROM reiser WHERE country = ''Dutch Republic''';
DBGrid1.DataSource.DataSet:=DataModuleConn.SQLQuery1;
DBGrid1.DataSource:=DataModuleConn.Datasource;
DBGrid1.DataSource.DataSet.Active:=True;
//DataModuleConn.SQLTransaction1.Commit;
DataModuleConn.SQLTransaction1.CommitRetaining;
end
else if (cbbList.Items[cbbList.ItemIndex] = lisList1) then begin
DataModuleConn.SQLTransaction1.Active:=True;
DataModuleConn.SQLQuery1.SQL.Text:='SELECT year, country,
gender FROM reiser WHERE country = ''Holland''';
DBGrid1.DataSource.DataSet:=DataModuleConn.SQLQuery1;
DBGrid1.DataSource:=DataModuleConn.Datasource;
DBGrid1.DataSource.DataSet.Active:=True;
//DataModuleConn.SQLTransaction1.Commit;
DataModuleConn.SQLTransaction1.CommitRetaining;
end;
I have tried DataModuleConn.SQLTransaction1.Rollback
also, still the same.
>
> Antonio.
>
>
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>
--
Kind Regards
Eric Kom
System Administrator & Programmer - Metropolitan College
_________________________________________
/ You are scrupulously honest, frank, and \
| straightforward. Therefore you have few |
\ friends. /
-----------------------------------------
\
\
.--.
|o_o |
|:_/ |
// \ \
(| Kom | )
/'\_ _/`\
\___)=(___/
2 Hennie Van Till, White River, 1240
Tel: 013 750 2255 | Fax: 013 750 0105 | Cell: 078 879 1334
erickom at kom.za.net | erickom at metropolitancollege.co.za
www.kom.za.net | www.kom.za.org | www.erickom.co.za
Key fingerprint: 513E E91A C243 3020 8735 09BB 2DBC 5AD7 A9DA 1EF5
More information about the Lazarus
mailing list