Luiz Americo Pereira Camara escreveu:
Bogusław Brandys escreveu:
Hello,
First: I'm using FPC SVN 2.0.3 from 2006-02-24 TSqlite3Dataset version.
I know that there is some version newer then this but I'd like to
stick with SVN.
Platform: Windows XP Home,Lazarus SVN rev.8817
I already sent a patch to fpc maillist. I'm waiting for the commit.
Why is impossible to use Edit,Post,ApplyUpdates,Refresh functions
for TSqlite3Dataset in SQLMode ? I have defined PrimaryKey which is
INTEGER PRIMARY KEY but is it skipped (for example ApplyUpdates has
check for :
if (FPrimaryKeyNo <> -1) and not FSqlMode then (...)
)
So that code does not update database table at all (in SQLMode):
DB.Edit;
DB.FieldByName('Test').AsString := 'Test';
DB.Post;
DB.ApplyUpdates;
DB.Refresh;
For me it's strange because update/delete SQL should work flawless
with SQlMode when PrimaryKey is set (even if table has not define
primary key there is ROWID variable to obtain record ID which may be
used for update/delete statement)
SqlMode is intended only when you want to use queries that retrieves
data from more than one table or use field aliases. It prevines data
corruption when using ApplyUpdates. When using queries that retrieve
data from only one table, without using aliases, even complex ones,
ApplyUpdates will work and SqlMode should be set to false. Notice that
only ApplyUpdates is affected by SqlMode. All other functions you
cited does not.
I will remove the SqlMode property since it will cause a lot of
confusion like this and in fact it does not prevent calling ApplyUpdates
in the cited situation. I'll make clear in the documentation (when it's
done) that ApplyUpdates will not work in queries with fields of more
then one table. I already have planned to extend ApplyUpdates to work
with such queries but no time yet.
Luiz
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives