Index: Sqlite3.h =================================================================== --- Sqlite3.h (revision 829) +++ Sqlite3.h (working copy) @@ -33,6 +33,7 @@ private: sqlite3 *db; + bool opened; String current_filename; String current_dbname; @@ -46,8 +47,8 @@ virtual void Commit(); virtual void Rollback(); - Sqlite3Session() { db = NULL; Dialect(SQLITE3); } - ~Sqlite3Session() { Close(); } + Sqlite3Session() : opened(false) { db = NULL; Dialect(SQLITE3); } + ~Sqlite3Session() { Close(); } }; END_UPP_NAMESPACE Index: Sqlite3upp.cpp =================================================================== --- Sqlite3upp.cpp (revision 829) +++ Sqlite3upp.cpp (working copy) @@ -267,13 +267,13 @@ bool Sqlite3Session::Open(const char* filename) { // Only open db once. - ASSERT(NULL == db); + ASSERT(!opened); current_filename = filename; // By default, sqlite3 associates the opened db with "main.*" // However, using the ATTACH sql command, it can connect to more databases. // I don't know how to get the list of attached databases from the API current_dbname = "main"; - bool opened = (SQLITE_OK == sqlite3_open(filename, &db)); + opened = (SQLITE_OK == sqlite3_open(filename, &db)); return opened; } void Sqlite3Session::Close() {