В SQL выражении, передаваемом функциям sqlite3_prepare() и sqlite3_prepare16(), литералы могут быть заменены маской вида '?' или ':AAA', где 'AAA' – идентификатор. Значения масок (также называемые host parameter names) могут быть связаны при помощи этих функций.
Перв
1000
ый аргумент – указатель на структуру sqlite3_stmt, возвращаемую функцией sqlite3_prepare(). Второй аргумент – порядковое значение маски в выражении. Маски нумеруются с 1.
Пятый аргумент, передаваемый функциям sqlite3_bind_blob(), sqlite3_bind_text() и sqlite3_bind_text16() – деструктор, освобождающий BLOB или текст, после того, как SQLite завершил их использование. Если пятый аргумент равен SQLITE_STATIC, то библиотека предполагает, что данные статичные и их не надо освобождать, а если аргумент равен SQLITE_TRANSIENT, то библиотека будет использовать свою собственную копию данных.
Вызов sqlite3_bind_*() должен происходить после вызова sqlite3_prepare() или sqlite3_reset(), и перед вызовом sqlite3_step(). Привязки значений не сбрасываются при вызове sqlite3_reset(). Все неопределенные маски интерпретируются как NULL.