Beendet eine _SQLite_Query() basierende Abfrage. Die Abfrage wird unterbrochen
#include <SQLite.au3>
_SQLite_QueryFinalize ( $hQuery )
$hQuery | Abfrage-Handle, welches durch _SQLite_Query() erzeugt wurde |
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 |
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.
_SQLite_Query, _SQLite_QueryReset
#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