Funktionreferenz


_SQLite_QueryFinalize

Beschreibung anzeigen in

Beendet eine _SQLite_Query() basierende Abfrage. Die Abfrage wird unterbrochen

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

Parameter

$hQuery Abfrage-Handle, welches durch _SQLite_Query() erzeugt wurde

Rückgabewert

Erfolg: $SQLITE_OK
Fehler: eine Variable welche mit $SQLITE_* Konstanten verglichen werden kann
@error: -1 - SQLite hat einen Fehler festgestellt (überprüfe Rückgabewert)
1 - Fehler beim Aufruf der SQLite API 'sqlite3_finalize'
2 - Ausführung verhindert durch Sicherheitsmodus

Bemerkungen

Die SQLite-Dateien können von https://www.autoitscript.com/autoit3/pkgmgr/sqlite heruntergeladen werden. Abgespeichert können diese in @ScriptDir, @SystemDir, @WindowsDir oder @WorkingDir werden.

Die _SQLite_QueryFinalize() Funktion wird aufgerufen, um eine vorherige Anweisung, die durch den Aufruf von _SQLite_Query() entstand, zu beenden.
Falls die Anweisung erfolgreich ausgeführt wurde oder auch nicht ausgeführt wurde, dann wird $SQLITE_OK zurückgegeben. Falls das Ausführen der Anweisung fehlschlägt, wird ein Fehlercode zurückgegeben.

Alle vorbereiteten Anweisungen müssen beendet werden, bevor _SQLite_Close() ausgeführt wird. Andernfalls scheitert das schließen der Datenbank mit dem Rückgabewert $SQLITE_BUSY.

Verwandte Funktionen

_SQLite_Query, _SQLite_QueryReset

Beispiel

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

Local $hQuery, $aRow, $aNames
_SQLite_Startup()
ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF)
_SQLite_Open() ; Öffnet eine DB im Speicher (:memory: database)
_SQLite_Exec(-1, "CREATE TABLE aTest (a,b,c);")
_SQLite_Exec(-1, "INSERT INTO aTest(a,b,c) VALUES ('c','2','Welt!');")
_SQLite_Exec(-1, "INSERT INTO aTest(a,b,c) VALUES ('b','3',' ');")
_SQLite_Exec(-1, "INSERT INTO aTest(a,b,c) VALUES ('a','1','Hallo');")
_SQLite_Query(-1, "SELECT ROWID,* FROM aTest ORDER BY a;", $hQuery)
_SQLite_FetchNames($hQuery, $aNames) ; Auslesen der Spaltenüberschriften
MsgBox($MB_SYSTEMMODAL, "SQLite", "Spaltentitel: " & StringFormat(" %-10s  %-10s  %-10s  %-10s ", $aNames[0], $aNames[1], $aNames[2], $aNames[3]) & @CRLF)
While _SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK ; Holt eine Zeile
    MsgBox($MB_SYSTEMMODAL, "SQLite", "Holt Daten mit FetchData: " & StringFormat(" %-10s  %-10s  %-10s  %-10s ", $aRow[0], $aRow[1], $aRow[2], $aRow[3]) & @CRLF)
    _SQLite_QueryFinalize($hQuery) ; Stoppt die Abfrage, weitere Zeilen zu holen
WEnd
_SQLite_Exec(-1, "DROP TABLE aTest;")
_SQLite_Close()
_SQLite_Shutdown()

; Ausgabe:
; rowid       a           b           c
; 3           a           1           Hallo