How to tell if sqlite database file is valid or not
问题 In the code below, pathToNonDatabase is the path to a simple text file, not a real sqlite database. I was hoping for sqlite3_open to detect that, but it doesn't ( db is not NULL , and result is SQLITE_OK ). So, how to detect that a file is not a valid sqlite database? sqlite3 *db = NULL; int result = sqlite3_open(pathToNonDatabase, &db); if((NULL==db) || (result!=SQLITE_OK)) { // invalid database } 回答1: sqlite opens databases lazily. Just do something immediately after opening that requires