Am 26.06.2012 18:00, schrieb Pavel Ivanov:
On Tue, Jun 26, 2012 at 11:50 AM, deltagam...@gmx.net
<deltagam...@gmx.net> wrote:
Am 26.06.2012 17:08, schrieb Pavel Ivanov:

You are leaking stmt statement (re-preparing without finaliznig) and
your call to sqlite3_close returns SQLITE_ERROR because of that, but
you don't even check that so you are leaking database connections as
well.

Pavel


On Tue, Jun 26, 2012 at 11:01 AM, deltagam...@gmx.net
<deltagam...@gmx.net> wrote:
Am 26.06.2012 16:49, schrieb Richard Hipp:

On Tue, Jun 26, 2012 at 10:46 AM, deltagam...@gmx.net
<deltagam...@gmx.net>wrote:

I have a c++ GUI application from where the db is read and the content
is
displayed in a Clistbox.
Then I try to delete some rows from the sqlite3-db from the console.
After rereading from within the GUI the deleted rows are still there.

How is this possible ?

The GUI is holding a read transaction open.  Hence it sees a consistent
snapshot of the database from the moment in time when the transaction
was
started.  Subsequent writes to the database are ignored by the GUI until
it
closes its current transaction and starts a new one.




First, I would like to thank all for the great support, a special thanks to Pavel Ivanov and Richard Hipp

I think with
==================================================
    char create_sql[] = "CREATE TABLE if not exists eventlog ("
        "id INTEGER PRIMARY KEY,"
        "eventdate DATETIME default current_timestamp,"
        "eventtype TEXT,"
        "counter INTEGER"
        ")";
rc = sqlite3_exec(db, create_sql, NULL, NULL, NULL);
=================================================
it is a convenient way to check if a table exists.

Is it possible to check even if a db file exists and if necessary create it from within c++ ? So I would open the db file sqlite3_open("ah.db", &db); only if it really exists ..


_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to