RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Перезагрузите подготовленный объект запроса

int sqlite3_reset(sqlite3_stmt *pStmt);

Функцию sqlite3_reset() вызывают, чтобы перезагрузить подготовленный объект назад к его начальному состоянию, готовому быть повторно выполненным. Любые переменные SQL-оператора, у которых были значения, связанные с ними, используя sqlite3_bind_*() API, сохраняют свои значения. Используйте sqlite3_clear_bindings(), чтобы перезагрузить привязки.

sqlite3_reset(S) перезагружает подготовленный запрос S назад к началу его программы.

Код возврата от sqlite3_reset(S) указывает действительно ли предыдущая оценка подготовленного запроса S закончена успешно. Если к sqlite3_step(S) прежде никогда не обращались на S или если sqlite3_step(S) не вызвали, начиная с предыдущего обращения к to sqlite3_reset(S), то sqlite3_reset(S) вернет SQLITE_OK.

Если новый запрос к sqlite3_step(S) для подготовленного запроса S указал на ошибку, то sqlite3_reset(S) возвращает соответствующий код ошибки. sqlite3_reset(S) мог бы также возвратить код ошибки, если бы не было никаких предшествующих ошибок, но процесс сброса подготовленного запроса вызвал новую ошибку. Например, если INSERT с RETURNING выполнен только один раз, запрос sqlite3_step(S) мог бы возвратить SQLITE_ROW, но полный запрос мог бы все еще потерпеть неудачу, и sqlite3_reset(S) мог бы возвратить SQLITE_BUSY, если ограничения блокировки препятствуют тому, чтобы изменение базы данных передалось. Поэтому важно, чтобы запросы проверили код возврата от sqlite3_reset(S), даже если никакой предшествующий запрос к sqlite3_step(S) не указал на проблему.

sqlite3_reset(S) не изменяет значения никаких привязок в подготовленном запросе S.