Ran <[EMAIL PROTECTED]> wrote:
>
> rc = sqlite3_step(pStmt3);
> if (rc != SQLITE_DONE) { // if we failed, we log it.
> printf("Failed to step statement: %s\n", sqlite3_errmsg(db1));
> }
The sqlite3_errmsg() API does not return the correct error
message text until after you do sqlite3_reset() or
sqlite3_finalize(). So if you change the above to read:
rc = sqlite3_step(pStmt3);
if (rc != SQLITE_DONE) { // if we failed, we show it.
sqlite3_reset(pStmt3); // <<<< This line inserted
printf("Failed to step statement: %s\n", sqlite3_errmsg(db1));
}
Then the program will give you the correct error message:
"database schema has changed"
Finalize your statement and rebuild it by a second call to
sqlite3_prepare() and it should work.
--
D. Richard Hipp <[EMAIL PROTECTED]>