SQLite

Class Stmt

public class Stmt extends Object

Class to represent compiled SQLite3 statement. Note, that all native methods of this class are not synchronized, i.e. it is up to the caller to ensure that only one thread is in these methods at any one time.
Field Summary
protected interror_code
Internal last error code for prepare()/step() methods.
longhandle
Internal handle for the SQLite3 statement.
Method Summary
voidbind(int pos, int value)
Bind positional integer value to compiled SQLite3 statement.
voidbind(int pos, long value)
Bind positional long value to compiled SQLite3 statement.
voidbind(int pos, double value)
Bind positional double value to compiled SQLite3 statement.
voidbind(int pos, byte[] value)
Bind positional byte array to compiled SQLite3 statement.
voidbind(int pos, String value)
Bind positional String to compiled SQLite3 statement.
voidbind(int pos)
Bind positional SQL null to compiled SQLite3 statement.
intbind_parameter_count()
Return number of parameters in compiled SQLite3 statement.
intbind_parameter_index(String name)
Return index of named parameter in compiled SQLite3 statement.
Stringbind_parameter_name(int pos)
Return name of parameter in compiled SQLite3 statement.
voidbind_zeroblob(int pos, int length)
Bind positional zero'ed blob to compiled SQLite3 statement.
voidclear_bindings()
Clear all bound parameters of the compiled SQLite3 statement.
voidclose()
Close the compiled SQLite3 statement.
Objectcolumn(int col)
Retrieve column data as object from exec'ed SQLite3 statement.
byte[]column_bytes(int col)
Retrieve blob column from exec'ed SQLite3 statement.
intcolumn_count()
Retrieve number of columns of exec'ed SQLite3 statement.
Stringcolumn_database_name(int col)
Return database name of column of SQLite3 statement.
Stringcolumn_decltype(int col)
Return declared column type of SQLite3 statement.
doublecolumn_double(int col)
Retrieve double column from exec'ed SQLite3 statement.
intcolumn_int(int col)
Retrieve integer column from exec'ed SQLite3 statement.
longcolumn_long(int col)
Retrieve long column from exec'ed SQLite3 statement.
Stringcolumn_origin_name(int col)
Return origin column name of column of SQLite3 statement.
Stringcolumn_string(int col)
Retrieve string column from exec'ed SQLite3 statement.
Stringcolumn_table_name(int col)
Return table name of column of SQLite3 statement.
intcolumn_type(int col)
Retrieve column type from exec'ed SQLite3 statement.
protected voidfinalize()
Destructor for object.
static voidinternal_init()
Internal native initializer.
booleanprepare()
Prepare the next SQL statement for the Stmt instance.
voidreset()
Reset the compiled SQLite3 statement without clearing parameter bindings.
booleanstep()
Perform one step of compiled SQLite3 statement.

Field Detail

error_code

protected int error_code
Internal last error code for prepare()/step() methods.

handle

private long handle
Internal handle for the SQLite3 statement.

Method Detail

bind

public void bind(int pos, int value)
Bind positional integer value to compiled SQLite3 statement.

Parameters: pos parameter index, 1-based value value of parameter

bind

public void bind(int pos, long value)
Bind positional long value to compiled SQLite3 statement.

Parameters: pos parameter index, 1-based value value of parameter

bind

public void bind(int pos, double value)
Bind positional double value to compiled SQLite3 statement.

Parameters: pos parameter index, 1-based value value of parameter

bind

public void bind(int pos, byte[] value)
Bind positional byte array to compiled SQLite3 statement.

Parameters: pos parameter index, 1-based value value of parameter, may be null

bind

public void bind(int pos, String value)
Bind positional String to compiled SQLite3 statement.

Parameters: pos parameter index, 1-based value value of parameter, may be null

bind

public void bind(int pos)
Bind positional SQL null to compiled SQLite3 statement.

Parameters: pos parameter index, 1-based

bind_parameter_count

public int bind_parameter_count()
Return number of parameters in compiled SQLite3 statement.

Returns: int number of parameters

bind_parameter_index

public int bind_parameter_index(String name)
Return index of named parameter in compiled SQLite3 statement.

Parameters: name of parameter

Returns: int index of parameter, 1-based

bind_parameter_name

public String bind_parameter_name(int pos)
Return name of parameter in compiled SQLite3 statement.

Parameters: pos parameter index, 1-based

Returns: String parameter name

bind_zeroblob

public void bind_zeroblob(int pos, int length)
Bind positional zero'ed blob to compiled SQLite3 statement.

Parameters: pos parameter index, 1-based length byte size of zero blob

clear_bindings

public void clear_bindings()
Clear all bound parameters of the compiled SQLite3 statement.

close

public void close()
Close the compiled SQLite3 statement.

column

public Object column(int col)
Retrieve column data as object from exec'ed SQLite3 statement.

Parameters: col column number, 0-based

Returns: Object or null

column_bytes

public byte[] column_bytes(int col)
Retrieve blob column from exec'ed SQLite3 statement.

Parameters: col column number, 0-based

Returns: byte[] column value

column_count

public int column_count()
Retrieve number of columns of exec'ed SQLite3 statement.

Returns: int number of columns

column_database_name

public String column_database_name(int col)
Return database name of column of SQLite3 statement.

Parameters: col column number, 0-based

Returns: String or null

column_decltype

public String column_decltype(int col)
Return declared column type of SQLite3 statement.

Parameters: col column number, 0-based

Returns: String or null

column_double

public double column_double(int col)
Retrieve double column from exec'ed SQLite3 statement.

Parameters: col column number, 0-based

Returns: double column value

column_int

public int column_int(int col)
Retrieve integer column from exec'ed SQLite3 statement.

Parameters: col column number, 0-based

Returns: int column value

column_long

public long column_long(int col)
Retrieve long column from exec'ed SQLite3 statement.

Parameters: col column number, 0-based

Returns: long column value

column_origin_name

public String column_origin_name(int col)
Return origin column name of column of SQLite3 statement.

Parameters: col column number, 0-based

Returns: String or null

column_string

public String column_string(int col)
Retrieve string column from exec'ed SQLite3 statement.

Parameters: col column number, 0-based

Returns: String column value

column_table_name

public String column_table_name(int col)
Return table name of column of SQLite3 statement.

Parameters: col column number, 0-based

Returns: String or null

column_type

public int column_type(int col)
Retrieve column type from exec'ed SQLite3 statement.

Parameters: col column number, 0-based

Returns: column type code, e.g. SQLite.Constants.SQLITE_INTEGER

finalize

protected void finalize()
Destructor for object.

internal_init

private static void internal_init()
Internal native initializer.

prepare

public boolean prepare()
Prepare the next SQL statement for the Stmt instance.

Returns: true when the next piece of the SQL statement sequence has been prepared, false on end of statement sequence.

reset

public void reset()
Reset the compiled SQLite3 statement without clearing parameter bindings.

step

public boolean step()
Perform one step of compiled SQLite3 statement. Example:
   ...
   try {
     Stmt s = db.prepare("select * from x; select * from y;");
     s.bind(...);
     ...
     s.bind(...);
     while (s.step(cb)) {
       Object o = s.value(...);
       ...
     }
     // s.reset() for re-execution or
     // s.prepare() for the next piece of SQL
     while (s.prepare()) {
       s.bind(...);
       ...
       s.bind(...);
       while (s.step(cb)) {
         Object o = s.value(...);
         ...
       }
     }
   } catch (SQLite.Exception e) {
     s.close();
   }
 

Returns: true when row data is available, false on end of result set.

Contact: Christian Werner