Bogusław Brandys wrote:
Luiz Americo Pereira Camara wrote:
Michael Van Canneyt escreveu:
Maybe it's easier to revert your component to SQLDb.
Probably not. As i said is just a question of time. The design is
already on my mind and the implementation seems not to be difficult.
SQLDB has a working ApplyUpdates, even for queries
with fields of more than one table.
In my experience sqldb.ApplyUpdates is not working at all:
http://www.freepascal.org/bugs/showrec.php3?ID=4725.
And its internals is somewhat slower(the results are in miliseconds):
http://www.geocities.com/camara_luiz/sqlite4fpc/benchmarks.html.
You would then also have parameter support and so on.
Anyway, i think that sqldb and TSqliteDataset are for different
purposes. While the first offers full support to Client/Server
databases, transactions, rollbacks etc., the second is good for
Desktop/embedded applications that need to manipulate data. Also
TSqliteDataset offers the ability to easily (with few lines of code)
create databases at runtime, even in disk or in memory databases
(using filename ':memory:').
Luiz
But why Post is not working for TSqlite3Dataset ? ApplyUpdates seems to
be rather for remote server (Delphi help : "Changes made to the client
dataset’s local copy of data are not sent to the application server
until the client application calls the ApplyUpdates method for the
dataset.") , while sqlite is more desktop database I think.
Also I found a bug:
when I do TSqlite3Dataset.Cancel it doesn't revert value displayed in DB
controls connected to this dataset to previous state (to value stored in
database) This cause out of sync - value displayed is that last modified
by user while in database nothing was changed (fortunately - if
Dataset.Cancel would allow to post changes on Cancel that will be more
nasty bug)
Best Regards
Boguslaw
Ok,I understand that because sqlite is purely SQL based it may be
difficult to allow Cancel to work properly but in fact without proper
Cancel method - it does not make sense to me creating full dataset
descendant for sqlite.
One solution would be duplicated buffer for previous posted value for
revering or simply (better) reget current row from database
Regards
Boguslaw
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives