↑  ←  Описание функции


_SQLite_QueryFinalize

Завершает запрос _SQLite_Query(). Запрос будет прерван

#include <SQLite.au3>
_SQLite_QueryFinalize($hQuery)

Параметры

$hQuery Дескриптор запроса, созданный _SQLite_Query()

Возвращаемое значение

Успех:Возвращает $SQLITE_OK
Ошибка:Возвращаемое значение можно сравнить с константами $SQLITE_ *
@error:-1 - SQLite сообщил об ошибке (Проверьте возвращаемое значение)
1 - Ошибка вызова 'sqlite3_finalize' SQLite API
2 - Вызов предотвращен безопасным режимом

Примечания

Функция _SQLite_QueryFinalize() вызывается для удаления подготовленного SQL-выражения, полученного в результате вызова _SQLite_Query(). Если выражение было выполнено успешно или не выполнено вообще, то возвращает $SQLITE_OK. Если выражение выполнить не удалось, то возвращает код ошибки.

Все подготовленные запросы должны быть завершены до вызова _SQLite_Close(), иначе приводит к ошибке и возвращается код $SQLITE_BUSY.

См. также

_SQLite_Query, _SQLite_QueryReset

Пример

#include <SQLite.au3>
#include <SQLite.dll.au3>

Local $hQuery, $aRow, $aNames
_SQLite_Startup()
ConsoleWrite("Версия библиотеки SQLite = " & _SQLite_LibVersion() & @CRLF)
_SQLite_Open() ; открывает базу данных в памяти
_SQLite_Exec(-1, "CREATE TABLE aTest (a,b,c);") ; создает таблицу "aTest"
_SQLite_Exec(-1, "INSERT INTO aTest(a,b,c) VALUES ('c','2','мир');") ; вставляет данные
_SQLite_Exec(-1, "INSERT INTO aTest(a,b,c) VALUES ('b','3',' ');") ; вставляет данные
_SQLite_Exec(-1, "INSERT INTO aTest(a,b,c) VALUES ('a','1','Привет');") ; вставляет данные
_SQLite_Query(-1, "SELECT ROWID,* FROM aTest ORDER BY a;", $hQuery) ; выполняет запрос
_SQLite_FetchNames($hQuery, $aNames) ; читает имена столбцов
MsgBox(0, "SQLite", "Идентификатор строки: " & StringFormat(" %-10s  %-10s  %-10s  %-10s ", $aNames[0], $aNames[1], $aNames[2], $aNames[3]) & @CRLF)
While _SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK ; получает одну строку за раз
    MsgBox(0, "SQLite", "Данные, полученные FetchData: " & StringFormat(" %-10s  %-10s  %-10s  %-10s ", $aRow[0], $aRow[1], $aRow[2], $aRow[3]) & @CRLF)
    _SQLite_QueryFinalize($hQuery) ; прерывает запрос и не дает получить остальные строки
WEnd
_SQLite_Exec(-1, "DROP TABLE aTest;")
_SQLite_Close()
_SQLite_Shutdown()

; вывод:
;
;  rowid       a           b           c
;  3           a           1           Привет