Функция _SQLite_Exec

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


_SQLite_Exec

Выполняет SQLite-запрос без обработки результата

#include <SQLite.au3>
_SQLite_Exec($hDB, $sSQL [, $sCallBack])

Параметры

$hDB Дескриптор открытой базы данных, укажите -1 для использования последней открытой базы данных
$sSQL SQL-выражение, которое будет выполнено
$sCallback [необязательный] Если указана функция, то она будет вызвана для каждой строки

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

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

Примечания

Функция обратного вызова должна иметь один параметр, а для прекращения обработки запроса может вернуть $SQLITE_ABORT(смотрите пример).

См. также

_SQLite_Query, _SQLite_GetTable, _SQLite_GetTable2d

Пример

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

Local $hQuery, $aRow
_SQLite_Startup()
ConsoleWrite("Версия библиотеки SQLite = " & _SQLite_LibVersion() & @CRLF)
_SQLite_Open()
; без $sCallback запрос не вернет результата
_SQLite_Exec(-1, "Create table tblTest (a,b int,c single not null);" & _  ; создаёт таблицу "tblTest"
        "Insert into tblTest values ('1',2,3);" & _ ; вставляет значения в таблицу
        "Insert into tblTest values (Null,5,6);")

Local $d = _SQLite_Exec(-1, "Select rowid,* From tblTest", "_cb") ; _cb будет вызвана для каждой строки

; Функция обратного вызова (callback)
Func _cb($aRow)
    For $s In $aRow
        ConsoleWrite($s & @TAB)
    Next
    ConsoleWrite(@CRLF)
    ; Return $SQLITE_ABORT ; Эта команда, чтобы прервать _SQLite_Exec() и установить @error
EndFunc   ;==>_cb

_SQLite_Close()
_SQLite_Shutdown()

; вывод в консоль:
;   1   1   2   3
;   2       5   6