Hi,
I saw the TBufDataSet.ApplyUpdates and it calls ApplyRecUpdate. The ApplyRecUpdate just raises an exception...
There is some implementation, in some place, to work with ApplyUpdates (like a Delphi's TClientDataSet)?
Thanks
Marcos Douglas

Mailing lists / fpc-pascal / 2012-05
7 messages · 3 people · –
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
Hi,
I saw the TBufDataSet.ApplyUpdates and it calls ApplyRecUpdate. The ApplyRecUpdate just raises an exception...
There is some implementation, in some place, to work with ApplyUpdates (like a Delphi's TClientDataSet)?
Thanks
Marcos Douglas
I saw the TBufDataSet.ApplyUpdates and it calls ApplyRecUpdate. The ApplyRecUpdate just raises an exception...
Yes it is virtual method, which can be overriden by descendants
There is some implementation, in some place, to work with ApplyUpdates (like a Delphi's TClientDataSet)?
Yes, see in sqldb.pp at TCustomSQLQuery
L.
Yeah... I did not know that the TCustomSQLQuery descended of TCustomBufDataSet. Well, I tried to use ApplyUpdates with TSQLQuery and TMSSQLConnection (SQLServer).
I put a DBGrid, DataSource... blablabla... I edited the record on the Grid and click in Apply button (ApplyUpdates(0))
ERROR 20019:
"Attempt to initiate a new SQL Server operation with results pending."
On the internet I found this:
http://www.sybase.com.br/detail?id=897#1825
I don't have other SGBD now to test so, I would like to know if this is a problem in TMSSQLConnection or in ApplyUpdates?
Thanks,
Marcos Douglas
Marcos Douglas wrote / napísal(a):
Yes it is a known problem (also in ODBC), read also in sqldb/mssql/readme.txt:
- DB-Library error 10038 "Results Pending" - set
TSQLQuery.PacketRecords=-1 to fetch all pendings rows HTH
-Laco.
You're right, but I have others problems:
I changed PacketRecords=-1 and test again. No errors, but didn't commited (I'm seeing the SQL Profiler).
So, I used:
SQLQuery1.ApplyUpdates(0);
SQLTransaction1.Commit;Worked, using Commit, but the DataSet was closed (?)
The SQLQuery properties are:
UpdateMode = upWhereKeyOnly
UsePrimaryKeyAsKey = True
Maybe there is no problem and I just have to know how the SQLdb works. Could you help me on this?
Marcos Douglas
If you don't want the dataset closed then you must use CommitRetaining (or RollbackRetaining for Rollback).
Regards,
Sven
Yeah, I remember now... =(
I already talked with Laco about this months ago (Laco, sorry my forgetfulness) Sven, thanks for the info.
BTW, worked perfectly.
Thanks.
Marcos Douglas