# 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