The first two sentences on this page <https://www.sqlite.org/c3ref/errcode.html>
contradict one-another. Here they are: "The sqlite3_errcode() interface returns the numeric result code or extended result code for the most recent failed sqlite3_* API call associated with a database connection. If a prior API call failed but the most recent API call succeeded, the return value from sqlite3_errcode() is undefined." Suppose there is the following pattern of usage: sqlite3_bind_int() -- fails with a result of SQLITE_RANGE sqlite3_bind_text() -- succeeds without problems. The first sentence says that the result code of sqlite3_errcode() will definitely be SQLITE_RANGE. The second sentence says that the result code of sqlite3_errcode() is undefined. Simon.