SQLiteクエリを実行します。結果は制御しません。
#include <SQLite.au3>
_SQLite_Exec ( $hDB, $sSQL [, $sCallBack ] )
パラメータ
$hDB | 開かれているデータベース。最後に開かれたデータベースを使用する場合-1を使用 |
$sSQL | 実行するSQLステートメント |
$sCallback | [オプション]指定した関数が各行で呼ばれます |
返し値
成功: | $SQLITE_OKを返します |
失敗: | $SQLITE_* 定数と比較可能な値を返します |
@error: | -1 - SQLiteがエラーを報告 (返し値を調べてください) |
1 - SQLite API 'sqlite3_exec'の呼び出しエラー | |
2 - SafeModeによって呼び出しが阻止されました | |
3 - _SQLite_GetTable2d内からのコールバック処理エラー | |
4 - SQLステートメントのUTF-8変換中のエラー |
注意
コールバック関数は1パラメータを受け、中止処理のためにSQLITE_ABORTを返すことができなければなりません(例を参照)。
関連
_SQLite_Query, _SQLite_GetTable, _SQLite_GetTable2d
例
#include <sqlite.au3>
#include <sqlite.dll.au3>
Local $hQuery,$aRow
_SQLite_Startup()
ConsoleWrite("_SQLite_LibVersion=" &_SQLite_LibVersion() & @CRLF)
_SQLite_Open()
; $sCallback無しでは結果の無いクエリ
_SQLite_Exec(-1,"Create table tblTest (a,b int,c single not null);" & _
"Insert into tblTest values ('1',2,3);" & _
"Insert into tblTest values (Null,5,6);")
$d = _SQLite_Exec(-1,"Select oid,* From tblTest","_cb") ; _cbは各行で呼ばれる
Func _cb($aRow)
For $s In $aRow
ConsoleWrite($s & @TAB)
Next
ConsoleWrite(@CRLF)
; $SQLITE_ABORTを返す ; 処理を破棄し_SQLite_Exec()の@errorをトリガする
EndFunc
_SQLite_Close()
_SQLite_Shutdown()
; 出力:
;~ rowid a b c
;~ 1 1 2 3
;~ 2 5 6