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

Reply via email to