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

# SQLiteStatement

*** ** * ** ***

` public final class SQLiteStatement `   
` ` ` ` ` extends https://developer.android.com/reference/android/database/sqlite/SQLiteProgram ` ` `

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

<br />

*** ** * ** ***

Represents a statement that can be executed against a database. The statement cannot return multiple rows or columns, but single value (1 x 1) result sets are supported.

This class is not thread-safe.

<br />

## Summary

| ### Public methods ||
|---|---|
| ` void` | ` https://developer.android.com/reference/android/database/sqlite/SQLiteStatement#execute()() ` Execute this SQL statement, if it is not a SELECT / INSERT / DELETE / UPDATE, for example CREATE / DROP table, view, trigger, index etc. |
| ` long` | ` https://developer.android.com/reference/android/database/sqlite/SQLiteStatement#executeInsert()() ` Execute this SQL statement and return the ID of the row inserted due to this call. |
| ` int` | ` https://developer.android.com/reference/android/database/sqlite/SQLiteStatement#executeUpdateDelete()() ` Execute this SQL statement, if the number of rows affected by execution of this SQL statement is of any importance to the caller - for example, UPDATE / DELETE SQL statements. |
| ` https://developer.android.com/reference/android/os/ParcelFileDescriptor` | ` https://developer.android.com/reference/android/database/sqlite/SQLiteStatement#simpleQueryForBlobFileDescriptor()() ` Executes a statement that returns a 1 by 1 table with a blob value. |
| ` long` | ` https://developer.android.com/reference/android/database/sqlite/SQLiteStatement#simpleQueryForLong()() ` Execute a statement that returns a 1 by 1 table with a numeric value. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/database/sqlite/SQLiteStatement#simpleQueryForString()() ` Execute a statement that returns a 1 by 1 table with a text value. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/database/sqlite/SQLiteStatement#toString()() ` Returns a string representation of the object. |

### Inherited methods

From class ` https://developer.android.com/reference/android/database/sqlite/SQLiteProgram ` ` void` ` https://developer.android.com/reference/android/database/sqlite/SQLiteProgram#bindAllArgsAsStrings(java.lang.String[])(https://developer.android.com/reference/java/lang/String bindArgs) `

Given an array of String bindArgs, this method binds all of them in one single call.
` void` ` https://developer.android.com/reference/android/database/sqlite/SQLiteProgram#bindBlob(int,%20byte[])(int index, byte[] value) `

Bind a byte array value to this statement.
` void` ` https://developer.android.com/reference/android/database/sqlite/SQLiteProgram#bindDouble(int,%20double)(int index, double value) `

Bind a double value to this statement.
` void` ` https://developer.android.com/reference/android/database/sqlite/SQLiteProgram#bindLong(int,%20long)(int index, long value) `

Bind a long value to this statement.
` void` ` https://developer.android.com/reference/android/database/sqlite/SQLiteProgram#bindNull(int)(int index) `

Bind a NULL value to this statement.
` void` ` https://developer.android.com/reference/android/database/sqlite/SQLiteProgram#bindString(int,%20java.lang.String)(int index, https://developer.android.com/reference/java/lang/String value) `

Bind a String value to this statement.
` void` ` https://developer.android.com/reference/android/database/sqlite/SQLiteProgram#clearBindings()() `

Clears all existing bindings.
` final int` ` https://developer.android.com/reference/android/database/sqlite/SQLiteProgram#getUniqueId()() `

*This method was deprecated in API level 15. This method is deprecated and must not be used.*
` void` ` https://developer.android.com/reference/android/database/sqlite/SQLiteProgram#onAllReferencesReleased()() `

Called when the last reference to the object was released by a call to `https://developer.android.com/reference/android/database/sqlite/SQLiteClosable#releaseReference()` or `https://developer.android.com/reference/android/database/sqlite/SQLiteClosable#close()`.
From class ` https://developer.android.com/reference/android/database/sqlite/SQLiteClosable ` ` void` ` https://developer.android.com/reference/android/database/sqlite/SQLiteClosable#acquireReference()() `

Acquires a reference to the object.
` void` ` https://developer.android.com/reference/android/database/sqlite/SQLiteClosable#close()() `

Releases a reference to the object, closing the object if the last reference was released.
` abstract void` ` https://developer.android.com/reference/android/database/sqlite/SQLiteClosable#onAllReferencesReleased()() `

Called when the last reference to the object was released by a call to `https://developer.android.com/reference/android/database/sqlite/SQLiteClosable#releaseReference()` or `https://developer.android.com/reference/android/database/sqlite/SQLiteClosable#close()`.
` void` ` https://developer.android.com/reference/android/database/sqlite/SQLiteClosable#onAllReferencesReleasedFromContainer()() `

*This method was deprecated in API level 16. Do not use.*
` void` ` https://developer.android.com/reference/android/database/sqlite/SQLiteClosable#releaseReference()() `

Releases a reference to the object, closing the object if the last reference was released.
` void` ` https://developer.android.com/reference/android/database/sqlite/SQLiteClosable#releaseReferenceFromContainer()() `

*This method was deprecated in API level 16. Do not use.*
From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` 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 https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` 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` ` 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` ` 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 ` https://developer.android.com/reference/java/io/Closeable ` ` abstract void` ` https://developer.android.com/reference/java/io/Closeable#close()() `

Closes this stream and releases any system resources associated with it.
From interface ` https://developer.android.com/reference/java/lang/AutoCloseable ` ` abstract void` ` https://developer.android.com/reference/java/lang/AutoCloseable#close()() `

Closes this resource, relinquishing any underlying resources.

## Public methods

### execute

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

```
public void execute ()
```

Execute this SQL statement, if it is not a SELECT / INSERT / DELETE / UPDATE, for example CREATE / DROP table, view, trigger, index etc.

<br />

| Throws ||
|---|---|
| `https://developer.android.com/reference/android/database/SQLException` | If the SQL string is invalid for some reason |

### executeInsert

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

```
public long executeInsert ()
```

Execute this SQL statement and return the ID of the row inserted due to this call. The SQL statement should be an INSERT for this to be a useful call.

<br />

| Returns ||
|---|---|
| `long` | the row ID of the last row inserted, if this insert is successful. -1 otherwise. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/android/database/SQLException` | If the SQL string is invalid for some reason |

### executeUpdateDelete

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

```
public int executeUpdateDelete ()
```

Execute this SQL statement, if the number of rows affected by execution of this SQL statement is of any importance to the caller - for example, UPDATE / DELETE SQL statements.

<br />

| Returns ||
|---|---|
| `int` | the number of rows affected by this SQL statement execution. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/android/database/SQLException` | If the SQL string is invalid for some reason |

### simpleQueryForBlobFileDescriptor

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

```
public ParcelFileDescriptor simpleQueryForBlobFileDescriptor ()
```

Executes a statement that returns a 1 by 1 table with a blob value.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/os/ParcelFileDescriptor` | A read-only file descriptor for a copy of the blob value, or `null` if the value is null or could not be read for some reason. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/android/database/sqlite/SQLiteDoneException` | if the query returns zero rows |

### simpleQueryForLong

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

```
public long simpleQueryForLong ()
```

Execute a statement that returns a 1 by 1 table with a numeric value. For example, SELECT COUNT(\*) FROM table;

<br />

| Returns ||
|---|---|
| `long` | The result of the query. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/android/database/sqlite/SQLiteDoneException` | if the query returns zero rows |

### simpleQueryForString

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

```
public String simpleQueryForString ()
```

Execute a statement that returns a 1 by 1 table with a text value. For example, SELECT COUNT(\*) FROM table;

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | The result of the query. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/android/database/sqlite/SQLiteDoneException` | if the query returns zero rows |

### toString

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

```
public String toString ()
```

Returns a string representation of the object.

<br />

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