Name

sqlite3_step() — Execute a prepared statement

Definition

int sqlite3_step( sqlite3_stmt* stmt );
stmt

A prepared statement.

Returns

An SQLite status code. If a result row is available, SQLITE_ROW will be returned. When the statement is done executing, SQLITE_DONE is returned. Any other value should be considered some type of error.

Description

This function executes a prepared statement. The function will return SQLITE_DONE when the statement has finished executing. At that point, the statement must be reset before sqlite3_step() can be called again. If the prepared statement returns any type of value, SQLITE_ROW will be returned. This indicates a row of data values are available. The application can extract these values using the sqlite3_column_xxx() functions. The application can continue to call sqlite3_step() until it returns SQLITE_DONE. This function should never return SQLITE_OK.

Many SQL commands, such as CREATE TABLE, never return any SQL values. Most other SQL commands, such as INSERT, UPDATE, and DELETE, do not return any SQL values by default. All of these SQL commands will typically perform their action and return SQLITE_DONE on the first call to sqlite3_step().

Other commands, like many of the PRAGMA commands, return a single value. In this interface, these are returned as single-column, single-row tables. The first call to sqlite3_step() should return SQLITE_ROW, and the second call should return SQLITE_DONE. The second call is not actually required, and the application ...

Get Using SQLite now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.