On 12/14/2016 10:56 AM, Igor Korot wrote:
Keith,
On Tue, Dec 13, 2016 at 8:34 PM, Keith Medcalf <[email protected]> wrote:
int res = sqlite3_close( m_db );
if( res == SQLITE_OK )
m_db = NULL;
else
{
// error handling
}
#ifdef DEBUG
sqlite3_stmt *statement = sqlite3_next_stmt( m_db, NULL );
if( statement )
const char *query = sqlite3_sql( statement );
#endif
Is it OK to pass NULL as a first parameter to sqlite3_next_stmt()?
Upon checking the documentation it looks like the call will fail if
m_db is NULL.
Why run the sqlite3_next_stmt() call if sqlite3_close() returns
SQLITE_OK. In that case you already know there are no unfinalized
statements. i.e. can you not put the sqlite3_next_stmt() checks in the
"// error handling" block above?
Dan.
Thank you.
Then you simply do:
if (!m_db)
{
// the pointer does not point to anything error handling
}
or conversely:
if (m_db)
{
// do stuff with the connection
}
else
{
// database is not open error
}
-----Original Message-----
From: sqlite-users [mailto:[email protected]]
On Behalf Of Igor Korot
Sent: Tuesday, 13 December, 2016 17:55
To: Discussion of SQLite Database; General Discussion of SQLite Database
Subject: [sqlite] How do I check if the DB is open?
Hi, ALL,
I'm using following code to check for errors in debug mode:
int res = sqlite3_close( m_db );
if( res != SQLITE_OK )
{
// error handling
}
#ifdef DEBUG
sqlite3_stmt *statement = sqlite3_next_stmt( m_db, NULL );
if( statement )
const char *query = sqlite3_sql( statement );
#endif
However the call to sqlite3_close() make the 'm_db' pointer invalid if
everything is successful and hence the sqlite3_next_stmt() crashes.
How do I properly check if the DB is still open?
Or maybe I should put the code inside #ifdef....#endif before DB closing?
Thank you.
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users