The statement::reset method calls sqlite3_reset, which makes the sqlite3_stmt ready to run again, but does not clear bindings. That means if you run the statement again but don't re-bind every parameter, some of the old bindings stay in effect.
There should be a method that calls sqlite3_clear_bindings, to ensure that all bindings are restored to null.
The
statement::reset
method callssqlite3_reset
, which makes thesqlite3_stmt
ready to run again, but does not clear bindings. That means if you run the statement again but don't re-bind every parameter, some of the old bindings stay in effect.There should be a method that calls
sqlite3_clear_bindings
, to ensure that all bindings are restored tonull
.