Show / Hide Table of Contents

Class sqliteStatement

Creates and executes a SQLite prepared statement.

public class sqliteStatement : IDisposable
Remarks

This class wraps a SQLite API object sqlite3_stmt* and related sqlite3_x functions. They are documented perfectly in the SQLite website. More info and example: sqlite.

important

A variable of this class can be used by multiple threads, but not simultaneously. Use lock(database) { } where need.


Namespace: Au
Assembly: Au.dll
Inheritance
object
sqliteStatement

Constructors

Name Description
sqliteStatement(sqlite, string, bool)

Calls sqlite3_prepare16_v3.

Properties

Name Description
ColumnCount

Calls sqlite3_column_count.

DB

The database connection.

Handle

sqlite3_stmt*

Methods

Name Description
Bind(SLIndexOrName, bool)

Calls sqlite3_bind_int (0 or 1).

Bind(SLIndexOrName, double)

Calls sqlite3_bind_double.

Bind(SLIndexOrName, int)

Calls sqlite3_bind_int.

Bind(SLIndexOrName, long)

Calls sqlite3_bind_int64.

Bind(SLIndexOrName, string)

Calls sqlite3_bind_text16.

Bind(SLIndexOrName, uint)

Calls sqlite3_bind_int.

Bind(SLIndexOrName, ulong)

Calls sqlite3_bind_int64.

Bind(SLIndexOrName, void*, long)

Calls sqlite3_bind_blob64.

BindAll(params object[])

Binds multiple values of any supported types.

BindNull(SLIndexOrName)

Calls sqlite3_bind_null.

BindStruct<T>(SLIndexOrName, T)

Binds a value as blob. Calls sqlite3_bind_blob64.

Bind<T>(SLIndexOrName, List<T>)

Calls sqlite3_bind_blob64.

Bind<T>(SLIndexOrName, ReadOnlySpan<T>)

Calls sqlite3_bind_blob64.

Bind<T>(SLIndexOrName, Span<T>)

Calls sqlite3_bind_blob64.

Bind<T>(SLIndexOrName, T)

Binds an enum value as int or long. Calls sqlite3_bind_int or sqlite3_bind_int64.

Bind<T>(SLIndexOrName, T[])

Calls sqlite3_bind_blob64.

ColumnIndex(string)

Finds column by name in results.

ColumnName(int)

Calls sqlite3_column_name.

Dispose()

Calls sqlite3_finalize.

Dispose(bool)
GetArray<T>(SLIndexOrName)

Calls sqlite3_column_blob and creates array.

GetBlob(SLIndexOrName)

Calls sqlite3_column_blob.

GetBlob(SLIndexOrName, out int)

Calls sqlite3_column_blob.

GetBlob<T>(SLIndexOrName)

Calls sqlite3_column_blob.

GetBool(SLIndexOrName)

Calls sqlite3_column_int64 and returns true if the value is not 0.

GetDouble(SLIndexOrName)

Calls qlite3_column_double.

GetInt(SLIndexOrName)

Calls sqlite3_column_int.

GetList<T>(SLIndexOrName)

Calls sqlite3_column_blob and creates List<T>.

GetLong(SLIndexOrName)

Calls sqlite3_column_int64.

GetStruct<T>(SLIndexOrName)

Calls sqlite3_column_blob and creates a variable of any value type that does not have fields of reference types.

GetText(SLIndexOrName)

Calls sqlite3_column_text.

Reset(bool, bool)

Calls sqlite3_reset and/or sqlite3_clear_bindings.

Step()

Calls sqlite3_step, and returns true if results data available (sqlite3_step returned SQLITE_ROW).

Operators

Name Description
implicit operator nint(sqliteStatement)

sqlite3_stmt*