Funktionsreferenz


_SQLite_Exec

Führt eine SQLite Abfrage durch, bearbeitet jedoch keine Ergebnisse.

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

Parameter

$hDB Eine offene Datenbank, mit -1 wird die zuletzt geöffnete Datenbank verwendet
$sSQL SQL-Anweisung die ausgeführt werden soll
$sCallback [optional] Wenn angegeben, wird diese Funktion für jede Zeile ausgeführt.

Rückgabewert

Erfolg: Gibt $SQLITE_OK zurück
Fehler: Rückgabewert kann mit den $SQLITE_* Konstanten verglichen werden
@error: -1 - SQLite hat einen Fehler festgestellt (Rückgabewert überprüfen)
1 - Fehler beim Aufruf des SQLite API 'sqlite3_exec'
2 - Aufruf vom Sicherheitsmodus verhindert
3 - Fehler in der Callback-Funktion von _SQLite_GetTable2d
4 - Fehler beim konvertieren des SQL-Auszuges in UTF-8

Bemerkungen

Die Callback-Funktion muss einen Parameter annehmen und kann $SQLITE_ABORT zurückgeben, um die Bearbeitung zu stoppen (siehe Beispiel).
Die erste Zeile in der Callback-Sequenz wird der Spaltenname sein.

Verwandte Funktionen

_SQLite_Query, _SQLite_GetTable, _SQLite_GetTable2d

Beispiel


#include <sqlite.au3>
#include <sqlite.dll.au3>

Local $hQuery, $aRow
_SQLite_Startup()
ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF)
_SQLite_Open()
; Ohne $sCallback ist es eine ergebnislose Abfrage
_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 wird für jede Zeile aufgerufen

Func _cb($aRow)
    For $s In $aRow
        ConsoleWrite($s & @TAB)
    Next
    ConsoleWriteCRLF)
    ; Rückgabewert: $SQLITE_ABORT ; Bricht den Prozess ab und setzt @error in _SQLite_Exec()
EndFunc   ;==>_cb
_SQLite_Close()
_SQLite_Shutdown()

; Ausgabe:
;~  1       1   2   3
;~  2           5   6