/
SQL_Fetch
SQL_Fetch
01.08.2018
Liest den n+1-ten Datensatz bei einer Datenbankabfrage, die mehrere Datensätze als Ergebnis liefert.
Prototype
SQL_Fetch( query, n )
Parameter
| Parameter | Typ | Bedeutung |
|---|---|---|
| query | string | SQL-Statement |
| n | number | Index des zu lesenden Datensatzes (beginnt bei 0!) |
Rückgabewert
| Nummer | Typ | Bedeutung |
|---|---|---|
| 1 | table | Datensatz oder nil |
Hinweise
- Der Mandant muss eingeschränkt werden, dies erfolgt nicht wie zum Teil bei andern Lua-Funktionen automatisch!
- Das SQL-Statement kann, muss aber nicht mit einem Semikolon beendet werden.
- Rückgabewert auf ungleich nil prüfen!
- Wird am sinnvollsten innerhalb einer Schleife verwendet.
- Siehe auch SQL_C*-Funktionen, die sind performanter.
- Führt bei Syntaxfehlern im SELECT-Statement zu Laufzeitfehlern!
Beispiel
--[[ Alle Mitarbeiter aus dem Personalstamm lesen und in einer alphabetisch sortierten Liste ausgeben --]] -- SELECT-Statement vorbereiten local query = "SELECT * FROM gpktab WHERE finr = " .. SysLogFinr .. " ORDER BY nname, vname" local index = 0; -- Datensatz-Zählvariable (beginnt bei 0!) local gpktab = SQL_Fetch( query, index ) -- ersten Datensatz lesen -- Ausgabe Titel SY_Msg( "Alphabetische Mitarbeiterliste:" ) while gpktab do -- solange Datensätze vorhanden sind (gpktab ~= nil) index = index + 1 -- index inkrementieren -- Ausgabe Mitarbeiter SY_Msg( "Mitarbeiter " .. index .. ": " .. gpktab.nname .. ", " .. gpktab.vname ) gpktab = SQL_Fetch( query, index ) -- nächsten Datensatz lesen end
, multiple selections available, Use left or right arrow keys to navigate selected items