Funktionreferenz


_SQLite_FetchData

Beschreibung anzeigen in

Ruft eine Zeile von einer _SQLite_Query()-Abfrage ab

#include <SQLite.au3>
_SQLite_FetchData ( $hQuery, ByRef $aRow [, $bBinary = False [, $bDoNotFinalize = False [, $iColumns = 0 [, $bAutoItTypeConversion = False]]]] )

Parameter

$hQuery Abfrage-Handle, das von _SQLite_Query() zurückgegeben wird
$aRow Ein 1D Array, welches die Daten einer Zeile beinhaltet
$bBinary [optional] wechselt zum Binär-Modus ($aRow ist dann ein Array von binären Strings)
$bDoNotFinalize [optional] Dies kann auf True gesetzt werden, wenn man die Abfrage unfertig für zukünftige Verwendung benötigt.
(Es liegt dann am Benutzer _SQLite_QueryFinalize() zu verwenden bevor die Datenbank geschlossen wird.)
$iColumns [optional] Anzahl der zurückzugebenden Spalten ((Standard = alle)
$bAutoItTypeConversion [optional] Konvertierung von String in AutoItType-Variable erzwingen ((Standard = False). Siehe Bemerkungen.

Rückgabewert

Erfolg: $SQLITE_OK
Fehler: einen Wert, welcher mit den $SQLITE_* Konstanten verglichen werden kann.
@error: -1 - SQLite hat einen Fehler festgestellt (überprüfe Rückgabewerte)
 1 - Fehler beim Aufruf von SQLite API 'sqlite3_step'
 2 - Fehler beim Aufruf von SQLite API 'sqlite3_data_count'
 3 - Fehler beim Aufruf von SQLite API 'sqlite3_column_text16'
 4 - Fehler beim Aufruf von SQLite API 'sqlite3_column_type'
 5 - Fehler beim Aufruf von SQLite API 'sqlite3_column_bytes'
 6 - Fehler beim Aufruf von SQLite API 'sqlite3_column_blob'
 7 - Aufruf wurde vom Sicherheitsmodus verhindert
 8 - Fehler beim Aufruf von SQLite API 'sqlite3_column_int64'
 9 - Fehler beim Aufruf von SQLite API 'sqlite3_column_double'
13 - Fehler beim Aufruf von SQLite API 'sqlite3_column_text16'
15 - Fehler beim Aufruf von SQLite API 'sqlite3_column_bytes'
16 - Fehler beim Aufruf von SQLite API 'sqlite3_column_blob'

Bemerkungen

$bAutoItTypeConversion ist nützlich, wenn das gesamte Skript den _SQlite_Startup() Parameter nicht verwenden kann.
Standardmäßig wird String oder Binary AutoIt Variable zurückgegeben.

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.

Verwandte Funktionen

_SQLite_Query, _SQLite_QueryFinalize, _SQlite_Startup

Beispiel

#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
ConsoleWrite(StringFormat(" %-10s  %-10s  %-10s  %-10s ", $aNames[0], $aNames[1], $aNames[2], $aNames[3]) & @CRLF)
While _SQLite_FetchData($hQuery, $aRow, False, False) = $SQLITE_OK ; Auslesen der nächsten Zeile
    ConsoleWrite(StringFormat(" %-10s  %-10s  %-10s  %-10s ", $aRow[0], $aRow[1], $aRow[2], $aRow[3]) & @CRLF)
WEnd
_SQLite_QueryFinalize($hQuery)
_SQLite_Exec(-1, "DROP TABLE aTest;")
_SQLite_Close()
_SQLite_Shutdown()

; Ausgabe:
; rowid       A           B           C
; 3           a           1           Hallo
; 2           b           3
; 1           c           2           Welt!