_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