Funktionreferenz


_SQLite_Query

Beschreibung anzeigen in

Bereitet eine SQLite-Abfrage vor

#include <SQLite.au3>
_SQLite_Query ( $hDB, $sSQL, ByRef $hQuery )

Parameter

$hDB Eine offene Datenbank, mit -1 wird die zuletzt geöffnete Datenbank verwendet
$sSQL SQL-Anweisung, die ausgeführt werden soll
$hQuery Gibt ein Abfragen-Handle zurück

Rückgabewert

Erfolg: $SQLITE_OK
Fehler: eine Variable welche mit $SQLITE_* Konstanten verglichen werden kann
@error: -1 - SQLite hat einen Fehler festgestellt (überprüft Rückgabewert)
1 - Fehler beim Aufruf von SQLite API 'sqlite3_prepare16_v2'
2 - Aufruf vom Sicherheitsmodus verhindert

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.
Das Handle, welches durch den Aufruf von _SQLite_Query() entsteht, sollte mit _SQLite_QueryFinalize() wieder freigegeben werden. Sonst ist evtl. kein Zugriff auf die sqlite-Datei möglich.

Verwandte Funktionen

_SQLite_Exec, _SQLite_FetchData, _SQLite_FetchNames, _SQLite_GetTable, _SQLite_GetTable2d, _SQLite_QueryFinalize, _SQLite_QueryReset, _SQLite_QuerySingleRow, _SQLite_SetTimeout

Beispiel

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

Local $hQuery, $aRow, $sMsg
_SQLite_Startup()
ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF)
_SQLite_Open() ; Öffne :memory: Datenbank
_SQLite_Exec(-1, "CREATE TABLE aTest (a,b,c);") ; Erzeugt Tabelle
_SQLite_Exec(-1, "INSERT INTO aTest(a,b,c) VALUES ('c','2','Welt!');") ; Fügt Daten ein
_SQLite_Exec(-1, "INSERT INTO aTest(a,b,c) VALUES ('b','3',' ');") ; Fügt Daten ein
_SQLite_Exec(-1, "INSERT INTO aTest(a,b,c) VALUES ('a','1','Hallo');") ; Fügt Daten ein
_SQLite_Query(-1, "SELECT c FROM aTest ORDER BY a;", $hQuery) ; Abfrage der 3. Spalte, sortiert nach der 1. Spalte
While _SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK
    $sMsg &= $aRow[0]
WEnd
_SQLite_Exec(-1, "DROP TABLE aTest;") ; Entferne die Tabelle
MsgBox($MB_SYSTEMMODAL, "SQLite", "Durch Abfrage ermittelte Daten: " & @CRLF & @CRLF & $sMsg)
_SQLite_Close()
_SQLite_Shutdown()

; Ausgabe:
; Hallo Welt!