Expand/Shrink

sqlite3_step

Definition: include pSQLite.e

integer ret = sqlite3_step(sqlite3_stmt pStmt)
Description: Execute a previously prepared SQL statement.

pStmt: A pointer to the sqlite3_stmt structure returned from sqlite3_prepare().

After binding any wildcards, this function must be called one or more times to run the statement.

Returns: SQLITE_ROW, SQLITE_DONE, or SQLITE_BUSY.

SQLITE_ROW is returned when there is a row of data ready to be read with the sqlite3_column functions.
Once that row has been processed call sqlite3_step() again, to get the next row of data, if any.

SQLITE_DONE is returned when there are no more rows to be read, ie the statement has finished executing successfully.
Call sqlite3_reset() and a few sqlite3_bind() before calling sqlite3_step() again.

SQLITE_BUSY means that the database engine attempted to open a locked database and there is no busy callback registered.
Call sqlite3_step() again to retry the open, typically after some pause or prompt.

The standard error handler automatically deals with the following errors:

SQLITE_ERROR means that a run-time error (such as a constraint violation) has occurred.
sqlite3_step() should not be called again on the VM.

SQLITE_MISUSE means that the this routine was called inappropriately.
Perhaps it was called on a virtual machine that had already been finalized or on one that had previously returned SQLITE_ERROR or SQLITE_DONE.
Or it could be the case the the same database connection is being used simulataneously by two or more threads.

Non-atom values may be returned if SQLITE3_NON_FATAL or a similar user provided error handler routine is in force.
pwa/p2js: Not supported
Example: See sqlite3_prepare