# SQLiteRawStatement

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Constants](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#constants)\|[Methods](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#inhmethods)  

# SQLiteRawStatement

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/database/sqlite/SQLiteRawStatement "View this page in Kotlin")\|Java

`
public

final

class
SQLiteRawStatement
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


implements

`[Closeable](https://developer.android.com/reference/java/io/Closeable)`


`

|---|--------------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.database.sqlite.SQLiteRawStatement |

<br />

*** ** * ** ***

A[SQLiteRawStatement](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement)represents a SQLite prepared statement. The methods correspond very closely to SQLite APIs that operate on a sqlite_stmt object. In general, each API in this class corresponds to a single SQLite API.

A[SQLiteRawStatement](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement)must be created through a database, and there must be a transaction open at the time. Statements are implicitly closed when the outermost transaction ends, or if the current transaction is marked successful. Statements may be explicitly closed at any time with[close()](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#close()). The[close()](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#close())operation is idempotent and may be called multiple times without harm.

Multiple[SQLiteRawStatement](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement)s may be open simultaneously. They are independent of each other. Closing one statement does not affect any other statement nor does it have any effect on the enclosing transaction.

Once a[SQLiteRawStatement](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement)has been closed, no further database operations are permitted on that statement. An[IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)will be thrown if a database operation is attempted on a closed statement.

All operations on a[SQLiteRawStatement](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement)must be invoked from the thread that created it. A[IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)will be thrown if cross-thread use is detected.

A common pattern for statements is try-with-resources.  

     // Begin a transaction.
     database.beginTransaction();
     try (SQLiteRawStatement statement = database.createRawStatement("SELECT * FROM ...")) {
         while (statement.step()) {
             // Fetch columns from the result rows.
         }
         database.setTransactionSuccessful();
     } finally {
         database.endTransaction();
     }
     
Note that[SQLiteRawStatement](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement)is unrelated to[SQLiteStatement](https://developer.android.com/reference/android/database/sqlite/SQLiteStatement).

<br />

**See also:**

- [sqlite3_stmt](http://sqlite.org/c3ref/stmt.html)

## Summary

|                                                                                                                                                               ### Constants                                                                                                                                                                ||
|-------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | [SQLITE_DATA_TYPE_BLOB](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#SQLITE_DATA_TYPE_BLOB) The constant returned by[getColumnType(int)](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnType(int))when the column value is SQLITE_BLOB.          |
| `int` | [SQLITE_DATA_TYPE_FLOAT](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#SQLITE_DATA_TYPE_FLOAT) The constant returned by[getColumnType(int)](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnType(int))when the column value is SQLITE_FLOAT.       |
| `int` | [SQLITE_DATA_TYPE_INTEGER](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#SQLITE_DATA_TYPE_INTEGER) The constant returned by[getColumnType(int)](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnType(int))when the column value is SQLITE_INTEGER. |
| `int` | [SQLITE_DATA_TYPE_NULL](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#SQLITE_DATA_TYPE_NULL) The constant returned by[getColumnType(int)](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnType(int))when the column value is SQLITE_NULL.          |
| `int` | [SQLITE_DATA_TYPE_TEXT](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#SQLITE_DATA_TYPE_TEXT) The constant returned by[getColumnType(int)](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnType(int))when the column value is SQLITE_TEXT.          |

|                                                                                                                                                                                      ### Public methods                                                                                                                                                                                      ||
|-----------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` void`                                                               | ` `[bindBlob](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#bindBlob(int,%20byte[]))`(int parameterIndex, byte[] value) ` Bind a blob to a parameter.                                                                                                                            |
| ` void`                                                               | ` `[bindBlob](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#bindBlob(int,%20byte[],%20int,%20int))`(int parameterIndex, byte[] value, int offset, int length) ` Bind a blob to a parameter.                                                                                      |
| ` void`                                                               | ` `[bindDouble](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#bindDouble(int,%20double))`(int parameterIndex, double value) ` Bind a double to a parameter.                                                                                                                      |
| ` void`                                                               | ` `[bindInt](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#bindInt(int,%20int))`(int parameterIndex, int value) ` Bind an int to a parameter.                                                                                                                                    |
| ` void`                                                               | ` `[bindLong](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#bindLong(int,%20long))`(int parameterIndex, long value) ` Bind a long to the parameter.                                                                                                                              |
| ` void`                                                               | ` `[bindNull](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#bindNull(int))`(int parameterIndex) ` Bind a null to the parameter.                                                                                                                                                  |
| ` void`                                                               | ` `[bindText](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#bindText(int,%20java.lang.String))`(int parameterIndex, `[String](https://developer.android.com/reference/java/lang/String)` value) ` Bind a string to the parameter.                                                |
| ` void`                                                               | ` `[clearBindings](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#clearBindings())`() ` Clear all parameter bindings.                                                                                                                                                             |
| ` void`                                                               | ` `[close](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#close())`() ` Close the object and release any native resources.                                                                                                                                                        |
| ` byte[]`                                                             | ` `[getColumnBlob](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnBlob(int))`(int columnIndex) ` Return the column value of the result row as a blob.                                                                                                                    |
| ` double`                                                             | ` `[getColumnDouble](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnDouble(int))`(int columnIndex) ` Return the column value as a double.                                                                                                                                |
| ` int`                                                                | ` `[getColumnInt](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnInt(int))`(int columnIndex) ` Return the column value as a int.                                                                                                                                         |
| ` int`                                                                | ` `[getColumnLength](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnLength(int))`(int columnIndex) ` Return the length of the column value in the result row.                                                                                                            |
| ` long`                                                               | ` `[getColumnLong](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnLong(int))`(int columnIndex) ` Return the column value as a long.                                                                                                                                      |
| ` `[String](https://developer.android.com/reference/java/lang/String) | ` `[getColumnName](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnName(int))`(int columnIndex) ` Return the name of the column in the result row.                                                                                                                        |
| ` `[String](https://developer.android.com/reference/java/lang/String) | ` `[getColumnText](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnText(int))`(int columnIndex) ` Return the column value as a text.                                                                                                                                      |
| ` int`                                                                | ` `[getColumnType](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnType(int))`(int columnIndex) ` Return the type of the column in the result row.                                                                                                                        |
| ` int`                                                                | ` `[getParameterCount](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getParameterCount())`() ` Return the number of parameters in the statement.                                                                                                                                 |
| ` int`                                                                | ` `[getParameterIndex](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getParameterIndex(java.lang.String))`(`[String](https://developer.android.com/reference/java/lang/String)` name) ` Return the index of the parameter with specified name.                                   |
| ` `[String](https://developer.android.com/reference/java/lang/String) | ` `[getParameterName](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getParameterName(int))`(int parameterIndex) ` Return the name of the parameter at the specified index.                                                                                                       |
| ` int`                                                                | ` `[getResultColumnCount](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getResultColumnCount())`() ` Return the number of columns in the result set for the statement.                                                                                                           |
| ` boolean`                                                            | ` `[isOpen](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#isOpen())`() ` Return true if the statement is still open and false otherwise.                                                                                                                                         |
| ` int`                                                                | ` `[readColumnBlob](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#readColumnBlob(int,%20byte[],%20int,%20int,%20int))`(int columnIndex, byte[] buffer, int offset, int length, int srcOffset) ` Copy the column value of the result row, interpreted as a blob, into the buffer. |
| ` void`                                                               | ` `[reset](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#reset())`() ` Reset the statement.                                                                                                                                                                                      |
| ` boolean`                                                            | ` `[step](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#step())`() ` Step to the next result row.                                                                                                                                                                                |
| ` `[String](https://developer.android.com/reference/java/lang/String) | ` `[toString](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#toString())`() ` Returns a string representation of the object.                                                                                                                                                      |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](https://developer.android.com/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.                                                          | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long,%20int))`(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed. | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long))`(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed.                   | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*.                                                                                             | ||
| From interface` `[java.io.Closeable](https://developer.android.com/reference/java/io/Closeable)` ` |------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract void` | ` `[close](https://developer.android.com/reference/java/io/Closeable#close())`() ` Closes this stream and releases any system resources associated with it. | ||
| From interface` `[java.lang.AutoCloseable](https://developer.android.com/reference/java/lang/AutoCloseable)` ` |------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract void` | ` `[close](https://developer.android.com/reference/java/lang/AutoCloseable#close())`() ` Closes this resource, relinquishing any underlying resources. | ||

## Constants

### SQLITE_DATA_TYPE_BLOB

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int SQLITE_DATA_TYPE_BLOB
```

The constant returned by[getColumnType(int)](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnType(int))when the column value is SQLITE_BLOB.

<br />

Constant Value: 4 (0x00000004)  

### SQLITE_DATA_TYPE_FLOAT

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int SQLITE_DATA_TYPE_FLOAT
```

The constant returned by[getColumnType(int)](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnType(int))when the column value is SQLITE_FLOAT.

<br />

Constant Value: 2 (0x00000002)  

### SQLITE_DATA_TYPE_INTEGER

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int SQLITE_DATA_TYPE_INTEGER
```

The constant returned by[getColumnType(int)](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnType(int))when the column value is SQLITE_INTEGER.

<br />

Constant Value: 1 (0x00000001)  

### SQLITE_DATA_TYPE_NULL

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int SQLITE_DATA_TYPE_NULL
```

The constant returned by[getColumnType(int)](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnType(int))when the column value is SQLITE_NULL.

<br />

Constant Value: 5 (0x00000005)  

### SQLITE_DATA_TYPE_TEXT

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int SQLITE_DATA_TYPE_TEXT
```

The constant returned by[getColumnType(int)](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#getColumnType(int))when the column value is SQLITE_TEXT.

<br />

Constant Value: 3 (0x00000003)

## Public methods

### bindBlob

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void bindBlob (int parameterIndex, 
                byte[] value)
```

Bind a blob to a parameter. Parameter indices start at 1. The function throws if the parameter index is out of bounds.

<br />

|                                              Parameters                                              ||
|------------------|------------------------------------------------------------------------------------|
| `parameterIndex` | `int`: The index of the parameter in the query. It is one-based. <br />            |
| `value`          | `byte`: The value to be bound to the parameter. This value cannot be`null`. <br /> |

|                                                                                                      Throws                                                                                                       ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)                                                         | if the statement is closed or this is a foreign thread. |
| [SQLiteBindOrColumnIndexOutOfRangeException](https://developer.android.com/reference/android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException) | if the parameter is out of range.                       |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException)                                                       | if a native error occurs.                               |

**See also:**

- [sqlite3_bind_blob](http://sqlite.org/c3ref/bind_blob.html)  

### bindBlob

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void bindBlob (int parameterIndex, 
                byte[] value, 
                int offset, 
                int length)
```

Bind a blob to a parameter. Parameter indices start at 1. The function throws if the parameter index is out of bounds. The sub-array value\[offset\] to value\[offset+length-1\] is bound.

<br />

|                                              Parameters                                              ||
|------------------|------------------------------------------------------------------------------------|
| `parameterIndex` | `int`: The index of the parameter in the query. It is one-based. <br />            |
| `value`          | `byte`: The value to be bound to the parameter. This value cannot be`null`. <br /> |
| `offset`         | `int`: An offset into the value array <br />                                       |
| `length`         | `int`: The number of bytes to bind from the value array. <br />                    |

|                                                                                                      Throws                                                                                                       ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)                                                         | if the statement is closed or this is a foreign thread. |
| [IllegalArgumentException](https://developer.android.com/reference/java/lang/IllegalArgumentException)                                                   | if the sub-array exceeds the bounds of the value array. |
| [SQLiteBindOrColumnIndexOutOfRangeException](https://developer.android.com/reference/android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException) | if the parameter is out of range.                       |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException)                                                       | if a native error occurs.                               |

**See also:**

- [sqlite3_bind_blob](http://sqlite.org/c3ref/bind_blob.html)  

### bindDouble

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void bindDouble (int parameterIndex, 
                double value)
```

Bind a double to a parameter. Parameter indices start at 1. The function throws if the parameter index is out of bounds.

<br />

|                                        Parameters                                         ||
|------------------|-------------------------------------------------------------------------|
| `parameterIndex` | `int`: The index of the parameter in the query. It is one-based. <br /> |
| `value`          | `double`: The value to be bound to the parameter. <br />                |

|                                                                                                      Throws                                                                                                       ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)                                                         | if the statement is closed or this is a foreign thread. |
| [SQLiteBindOrColumnIndexOutOfRangeException](https://developer.android.com/reference/android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException) | if the parameter is out of range.                       |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException)                                                       | if a native error occurs.                               |

**See also:**

- [sqlite3_bind_double](http://sqlite.org/c3ref/bind_blob.html)  

### bindInt

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void bindInt (int parameterIndex, 
                int value)
```

Bind an int to a parameter. Parameter indices start at 1. The function throws if the parameter index is out of bounds.

<br />

|                                        Parameters                                         ||
|------------------|-------------------------------------------------------------------------|
| `parameterIndex` | `int`: The index of the parameter in the query. It is one-based. <br /> |
| `value`          | `int` <br />                                                            |

|                                                                                                      Throws                                                                                                       ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)                                                         | if the statement is closed or this is a foreign thread. |
| [SQLiteBindOrColumnIndexOutOfRangeException](https://developer.android.com/reference/android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException) | if the parameter is out of range.                       |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException)                                                       | if a native error occurs.                               |

**See also:**

- [sqlite3_bind_int](http://sqlite.org/c3ref/bind_blob.html)  

### bindLong

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void bindLong (int parameterIndex, 
                long value)
```

Bind a long to the parameter. Parameter indices start at 1. The function throws if the parameter index is out of bounds.

<br />

|                                Parameters                                ||
|------------------|--------------------------------------------------------|
| `parameterIndex` | `int` <br />                                           |
| `value`          | `long`: The value to be bound to the parameter. <br /> |

|                                                                                                      Throws                                                                                                       ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)                                                         | if the statement is closed or this is a foreign thread. |
| [SQLiteBindOrColumnIndexOutOfRangeException](https://developer.android.com/reference/android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException) | if the parameter is out of range.                       |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException)                                                       | if a native error occurs.                               |

**See also:**

- [sqlite3_bind_int64](http://sqlite.org/c3ref/bind_blob.html)  

### bindNull

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void bindNull (int parameterIndex)
```

Bind a null to the parameter. Parameter indices start at 1. The function throws if the parameter index is out of bounds.

<br />

|                                        Parameters                                         ||
|------------------|-------------------------------------------------------------------------|
| `parameterIndex` | `int`: The index of the parameter in the query. It is one-based. <br /> |

|                                                                                                      Throws                                                                                                       ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)                                                         | if the statement is closed or this is a foreign thread. |
| [SQLiteBindOrColumnIndexOutOfRangeException](https://developer.android.com/reference/android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException) | if the parameter is out of range.                       |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException)                                                       | if a native error occurs.                               |

**See also:**

- [sqlite3_bind_null](http://sqlite.org/c3ref/bind_blob.html)  

### bindText

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void bindText (int parameterIndex, 
                String value)
```

Bind a string to the parameter. Parameter indices start at 1. The function throws if the parameter index is out of bounds. The string may not be null.

<br />

|                                               Parameters                                               ||
|------------------|--------------------------------------------------------------------------------------|
| `parameterIndex` | `int`: The index of the parameter in the query. It is one-based. <br />              |
| `value`          | `String`: The value to be bound to the parameter. This value cannot be`null`. <br /> |

|                                                                                                      Throws                                                                                                       ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)                                                         | if the statement is closed or this is a foreign thread. |
| [SQLiteBindOrColumnIndexOutOfRangeException](https://developer.android.com/reference/android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException) | if the parameter is out of range.                       |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException)                                                       | if a native error occurs.                               |

**See also:**

- [sqlite3_bind_text16](http://sqlite.org/c3ref/bind_blob.html)  

### clearBindings

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void clearBindings ()
```

Clear all parameter bindings.

<br />

|                                                                           Throws                                                                            ||
|----------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)   | if the statement is closed or this is a foreign thread. |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException) | if a native error occurs.                               |

**See also:**

- [sqlite3_clear_bindings](http://sqlite.org/c3ref/clear_bindings.html)  

### close

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void close ()
```

Close the object and release any native resources. It is not an error to call this on an already-closed object.

<br />

### getColumnBlob

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public byte[] getColumnBlob (int columnIndex)
```

Return the column value of the result row as a blob. Column indices start at 0. This throws an exception if column is not in the result. This returns null if the column value is null. The column value will be converted if it is not of type[SQLITE_DATA_TYPE_BLOB](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#SQLITE_DATA_TYPE_BLOB); see the sqlite documentation for details.

<br />

|                                       Parameters                                        ||
|---------------|--------------------------------------------------------------------------|
| `columnIndex` | `int`: The index of a column in the result row. It is zero-based. <br /> |

|                                      Returns                                       ||
|----------|--------------------------------------------------------------------------|
| `byte[]` | The value of the column as a blob, or null if the column is NULL. <br /> |

|                                                                                                                      Throws                                                                                                                      ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)                                                         | if the statement is closed or this is a foreign thread.                                |
| [SQLiteBindOrColumnIndexOutOfRangeException](https://developer.android.com/reference/android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException) | if the column is out of range.                                                         |
| [SQLiteMisuseException](https://developer.android.com/reference/android/database/sqlite/SQLiteMisuseException)                                           | if the row has no data. See[ERROR(/#getColumnType())](https://developer.android.com/). |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException)                                                       | if a native error occurs.                                                              |

**See also:**

- [sqlite3_column_blob](http://sqlite.org/c3ref/column_blob.html)  

### getColumnDouble

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public double getColumnDouble (int columnIndex)
```

Return the column value as a double. Column indices start at 0. This throws an exception if column is not in the result. The column value will be converted if it is not of type[SQLITE_DATA_TYPE_FLOAT](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#SQLITE_DATA_TYPE_FLOAT); see the sqlite documentation for details.

<br />

|                                       Parameters                                        ||
|---------------|--------------------------------------------------------------------------|
| `columnIndex` | `int`: The index of a column in the result row. It is zero-based. <br /> |

|                       Returns                       ||
|----------|-------------------------------------------|
| `double` | The value of a column as a double. <br /> |

|                                                                                                                      Throws                                                                                                                      ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)                                                         | if the statement is closed or this is a foreign thread.                                |
| [SQLiteBindOrColumnIndexOutOfRangeException](https://developer.android.com/reference/android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException) | if the column is out of range.                                                         |
| [SQLiteMisuseException](https://developer.android.com/reference/android/database/sqlite/SQLiteMisuseException)                                           | if the row has no data. See[ERROR(/#getColumnType())](https://developer.android.com/). |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException)                                                       | if a native error occurs.                                                              |

**See also:**

- [sqlite3_column_double](http://sqlite.org/c3ref/column_blob.html)  

### getColumnInt

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int getColumnInt (int columnIndex)
```

Return the column value as a int. Column indices start at 0. This throws an exception if column is not in the result. The column value will be converted if it is not of type[SQLITE_DATA_TYPE_INTEGER](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#SQLITE_DATA_TYPE_INTEGER); see the sqlite documentation for details.

<br />

|                                       Parameters                                        ||
|---------------|--------------------------------------------------------------------------|
| `columnIndex` | `int`: The index of a column in the result row. It is zero-based. <br /> |

|                     Returns                      ||
|-------|-------------------------------------------|
| `int` | The value of the column as an int. <br /> |

|                                                                                                                      Throws                                                                                                                      ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)                                                         | if the statement is closed or this is a foreign thread.                                |
| [SQLiteBindOrColumnIndexOutOfRangeException](https://developer.android.com/reference/android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException) | if the column is out of range.                                                         |
| [SQLiteMisuseException](https://developer.android.com/reference/android/database/sqlite/SQLiteMisuseException)                                           | if the row has no data. See[ERROR(/#getColumnType())](https://developer.android.com/). |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException)                                                       | if a native error occurs.                                                              |

**See also:**

- [sqlite3_column_int](http://sqlite.org/c3ref/column_blob.html)  

### getColumnLength

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int getColumnLength (int columnIndex)
```

Return the length of the column value in the result row. Column indices start at 0. This returns 0 for a null and number of bytes for text or blob. Numeric values are converted to a string and the length of the string is returned. See the sqlite documentation for details. Note that this cannot be used to distinguish a null value from an empty text or blob. Note that this returns the number of bytes in the text value, not the number of characters.

<br />

|                                       Parameters                                        ||
|---------------|--------------------------------------------------------------------------|
| `columnIndex` | `int`: The index of a column in the result row. It is zero-based. <br /> |

|                             Returns                             ||
|-------|----------------------------------------------------------|
| `int` | The length, in bytes, of the value in the column. <br /> |

|                                                                                                                      Throws                                                                                                                      ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)                                                         | if the statement is closed or this is a foreign thread.                                |
| [SQLiteBindOrColumnIndexOutOfRangeException](https://developer.android.com/reference/android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException) | if the column is out of range.                                                         |
| [SQLiteMisuseException](https://developer.android.com/reference/android/database/sqlite/SQLiteMisuseException)                                           | if the row has no data. See[ERROR(/#getColumnType())](https://developer.android.com/). |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException)                                                       | if a native error occurs.                                                              |

**See also:**

- [sqlite3_column_bytes](http://sqlite.org/c3ref/column_blob.html)  

### getColumnLong

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public long getColumnLong (int columnIndex)
```

Return the column value as a long. Column indices start at 0. This throws an exception if column is not in the result. The column value will be converted if it is not of type[SQLITE_DATA_TYPE_INTEGER](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#SQLITE_DATA_TYPE_INTEGER); see the sqlite documentation for details.

<br />

|                                       Parameters                                        ||
|---------------|--------------------------------------------------------------------------|
| `columnIndex` | `int`: The index of a column in the result row. It is zero-based. <br /> |

|                      Returns                       ||
|--------|--------------------------------------------|
| `long` | The value of the column as an long. <br /> |

|                                                                                                                      Throws                                                                                                                      ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)                                                         | if the statement is closed or this is a foreign thread.                                |
| [SQLiteBindOrColumnIndexOutOfRangeException](https://developer.android.com/reference/android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException) | if the column is out of range.                                                         |
| [SQLiteMisuseException](https://developer.android.com/reference/android/database/sqlite/SQLiteMisuseException)                                           | if the row has no data. See[ERROR(/#getColumnType())](https://developer.android.com/). |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException)                                                       | if a native error occurs.                                                              |

**See also:**

- [sqlite3_column_long](http://sqlite.org/c3ref/column_blob.html)  

### getColumnName

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public String getColumnName (int columnIndex)
```

Return the name of the column in the result row. Column indices start at 0. This throws an exception if column is not in the result.

<br />

|                                       Parameters                                        ||
|---------------|--------------------------------------------------------------------------|
| `columnIndex` | `int`: The index of a column in the result row. It is zero-based. <br /> |

|                                                                     Returns                                                                      ||
|--------------------------------------------------------------------|------------------------------------------------------------------------------|
| [String](https://developer.android.com/reference/java/lang/String) | The name of the column in the result row. This value cannot be`null`. <br /> |

|                                                                                                                      Throws                                                                                                                      ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)                                                         | if the statement is closed or this is a foreign thread.                                |
| [SQLiteBindOrColumnIndexOutOfRangeException](https://developer.android.com/reference/android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException) | if the column is out of range.                                                         |
| [SQLiteMisuseException](https://developer.android.com/reference/android/database/sqlite/SQLiteMisuseException)                                           | if the row has no data. See[ERROR(/#getColumnType())](https://developer.android.com/). |
| [SQLiteOutOfMemoryException](https://developer.android.com/reference/android/database/sqlite/SQLiteOutOfMemoryException)                                 | if the database cannot allocate memory for the name.                                   |

**See also:**

- [sqlite3_column_name](http://sqlite.org/c3ref/column_name.html)  

### getColumnText

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public String getColumnText (int columnIndex)
```

Return the column value as a text. Column indices start at 0. This throws an exception if column is not in the result. The column value will be converted if it is not of type[SQLITE_DATA_TYPE_TEXT](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#SQLITE_DATA_TYPE_TEXT); see the sqlite documentation for details.

<br />

|                                       Parameters                                        ||
|---------------|--------------------------------------------------------------------------|
| `columnIndex` | `int`: The index of a column in the result row. It is zero-based. <br /> |

|                                                                   Returns                                                                   ||
|--------------------------------------------------------------------|-------------------------------------------------------------------------|
| [String](https://developer.android.com/reference/java/lang/String) | The value of the column as a string. This value cannot be`null`. <br /> |

|                                                                                                                      Throws                                                                                                                      ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)                                                         | if the statement is closed or this is a foreign thread.                                |
| [SQLiteBindOrColumnIndexOutOfRangeException](https://developer.android.com/reference/android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException) | if the column is out of range.                                                         |
| [SQLiteMisuseException](https://developer.android.com/reference/android/database/sqlite/SQLiteMisuseException)                                           | if the row has no data. See[ERROR(/#getColumnType())](https://developer.android.com/). |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException)                                                       | if a native error occurs.                                                              |

**See also:**

- [sqlite3_column_text16](http://sqlite.org/c3ref/column_blob.html)  

### getColumnType

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int getColumnType (int columnIndex)
```

Return the type of the column in the result row. Column indices start at 0.

<br />

|                                       Parameters                                        ||
|---------------|--------------------------------------------------------------------------|
| `columnIndex` | `int`: The index of a column in the result row. It is zero-based. <br /> |

|                                                                                                                                                                                                                                                                                                                                                                              Returns                                                                                                                                                                                                                                                                                                                                                                              ||
|-------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | The type of the value in the column of the result row. Value is[SQLITE_DATA_TYPE_INTEGER](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#SQLITE_DATA_TYPE_INTEGER),[SQLITE_DATA_TYPE_FLOAT](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#SQLITE_DATA_TYPE_FLOAT),[SQLITE_DATA_TYPE_TEXT](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#SQLITE_DATA_TYPE_TEXT),[SQLITE_DATA_TYPE_BLOB](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#SQLITE_DATA_TYPE_BLOB), or[SQLITE_DATA_TYPE_NULL](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#SQLITE_DATA_TYPE_NULL) <br /> |

|                                                                                                      Throws                                                                                                       ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)                                                         | if the statement is closed or this is a foreign thread. |
| [SQLiteBindOrColumnIndexOutOfRangeException](https://developer.android.com/reference/android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException) | if the column is out of range.                          |
| [SQLiteMisuseException](https://developer.android.com/reference/android/database/sqlite/SQLiteMisuseException)                                           | if the row has no data.                                 |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException)                                                       | if a native error occurs.                               |

**See also:**

- [ERROR(href="http://sqlite.org/c3ref/column_blob.html">sqlite3_column_type](https://developer.android.com/)`

  If the row has no data then a {@link android.database.sqlite.SQLiteMisuseException SQLiteMisuseException} is thrown. This condition can
  occur the last call to {@link #step()} returned false or if {@link #step()} was not called
  before the statement was created or after the last call to {@link #reset()}. Note that
  {@link android.database.sqlite.SQLiteMisuseException SQLiteMisuseException} may be thrown for other reasons./`[sqlite3_column_type](http://sqlite.org/c3ref/column_blob.html)`

  If the row has no data then a {@link android.database.sqlite.SQLiteMisuseException SQLiteMisuseException} is thrown. This condition can
  occur the last call to {@link #step()} returned false or if {@link #step()} was not called
  before the statement was created or after the last call to {@link #reset()}. Note that
{@link android.database.sqlite.SQLiteMisuseException SQLiteMisuseException} may be thrown for other reasons.)`  

### getParameterCount

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int getParameterCount ()
```

Return the number of parameters in the statement.

<br />

|                         Returns                          ||
|-------|---------------------------------------------------|
| `int` | The number of parameters in the statement. <br /> |

|                                                                          Throws                                                                           ||
|--------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException) | if the statement is closed or this is a foreign thread. |

**See also:**

- [sqlite3_bind_parameter_count](http://sqlite.org/c3ref/bind_parameter_count.html)  

### getParameterIndex

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int getParameterIndex (String name)
```

Return the index of the parameter with specified name. If the name does not match any parameter, 0 is returned.

<br />

|                                  Parameters                                   ||
|--------|-----------------------------------------------------------------------|
| `name` | `String`: The name of a parameter. This value cannot be`null`. <br /> |

|                                         Returns                                          ||
|-------|-----------------------------------------------------------------------------------|
| `int` | The index of the parameter or 0 if the name does not identify a parameter. <br /> |

|                                                                          Throws                                                                           ||
|--------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException) | if the statement is closed or this is a foreign thread. |

**See also:**

- [sqlite3_bind_parameter_index](http://sqlite.org/c3ref/bind_parameter_index.html)  

### getParameterName

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public String getParameterName (int parameterIndex)
```

Return the name of the parameter at the specified index. Null is returned if there is no such parameter or if the parameter does not have a name.

<br />

|                         Parameters                          ||
|------------------|-------------------------------------------|
| `parameterIndex` | `int`: The index of the parameter. <br /> |

|                                                            Returns                                                             ||
|--------------------------------------------------------------------|------------------------------------------------------------|
| [String](https://developer.android.com/reference/java/lang/String) | The name of the parameter. This value may be`null`. <br /> |

|                                                                          Throws                                                                           ||
|--------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException) | if the statement is closed or this is a foreign thread. |

**See also:**

- [sqlite3_bind_parameter_name](http://sqlite.org/c3ref/bind_parameter_name.html)  

### getResultColumnCount

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int getResultColumnCount ()
```

Return the number of columns in the result set for the statement.

<br />

|                        Returns                         ||
|-------|-------------------------------------------------|
| `int` | The number of columns in the result set. <br /> |

|                                                                          Throws                                                                           ||
|--------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException) | if the statement is closed or this is a foreign thread. |

**See also:**

- [sqlite3_column_count](http://sqlite.org/c3ref/column_count.html)  

### isOpen

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public boolean isOpen ()
```

Return true if the statement is still open and false otherwise.

<br />

|                     Returns                      ||
|-----------|---------------------------------------|
| `boolean` | True if the statement is open. <br /> |

### readColumnBlob

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int readColumnBlob (int columnIndex, 
                byte[] buffer, 
                int offset, 
                int length, 
                int srcOffset)
```

Copy the column value of the result row, interpreted as a blob, into the buffer. Column indices start at 0. This throws an exception if column is not in the result row. Bytes are copied into the buffer starting at the offset. Bytes are copied from the blob starting at srcOffset. Length bytes are copied unless the column value has fewer bytes available. The function returns the number of bytes copied. The column value will be converted if it is not of type[SQLITE_DATA_TYPE_BLOB](https://developer.android.com/reference/android/database/sqlite/SQLiteRawStatement#SQLITE_DATA_TYPE_BLOB); see the sqlite documentation for details.

<br />

|                                                         Parameters                                                         ||
|---------------|-------------------------------------------------------------------------------------------------------------|
| `columnIndex` | `int`: The index of a column in the result row. It is zero-based. <br />                                    |
| `buffer`      | `byte`: A pre-allocated array to be filled with the value of the column. This value cannot be`null`. <br /> |
| `offset`      | `int`: An offset into the buffer: copying starts here. <br />                                               |
| `length`      | `int`: The number of bytes to copy. <br />                                                                  |
| `srcOffset`   | `int`: The offset into the blob from which to start copying. <br />                                         |

|                       Returns                       ||
|-------|----------------------------------------------|
| `int` | the number of bytes that were copied. <br /> |

|                                                                                                                      Throws                                                                                                                      ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)                                                         | if the statement is closed or this is a foreign thread.                                |
| [IllegalArgumentException](https://developer.android.com/reference/java/lang/IllegalArgumentException)                                                   | if the buffer is too small for offset+length.                                          |
| [SQLiteBindOrColumnIndexOutOfRangeException](https://developer.android.com/reference/android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException) | if the column is out of range.                                                         |
| [SQLiteMisuseException](https://developer.android.com/reference/android/database/sqlite/SQLiteMisuseException)                                           | if the row has no data. See[ERROR(/#getColumnType())](https://developer.android.com/). |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException)                                                       | if a native error occurs.                                                              |

**See also:**

- [sqlite3_column_blob](http://sqlite.org/c3ref/column_blob.html)  

### reset

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void reset ()
```

Reset the statement.

<br />

|                                                                           Throws                                                                            ||
|----------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)   | if the statement is closed or this is a foreign thread. |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException) | if a native error occurs.                               |

**See also:**

- [sqlite3_reset](http://sqlite.org/c3ref/reset.html)  

### step

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public boolean step ()
```

Step to the next result row. This returns true if the statement stepped to a new row, and false if the statement is done. The method throws on any other result, including a busy or locked database. If WAL is enabled then the database should never be locked or busy.

<br />

|                              Returns                              ||
|-----------|--------------------------------------------------------|
| `boolean` | True if a row is available and false otherwise. <br /> |

|                                                                                         Throws                                                                                          ||
|--------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)                               | if the statement is closed or this is a foreign thread. |
| [SQLiteDatabaseLockedException](https://developer.android.com/reference/android/database/sqlite/SQLiteDatabaseLockedException) | if the database is locked or busy.                      |
| [SQLiteException](https://developer.android.com/reference/android/database/sqlite/SQLiteException)                             | if a native error occurs.                               |

**See also:**

- [sqlite3_step](http://sqlite.org/c3ref/step.html)  

### toString

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public String toString ()
```

Returns a string representation of the object.

<br />

|                                                      Returns                                                      ||
|--------------------------------------------------------------------|-----------------------------------------------|
| [String](https://developer.android.com/reference/java/lang/String) | a string representation of the object. <br /> |