SQL_CFetch

Liest den nächsten Datensatz aus einem mit SQL_CDecl erzeugten Cursor.

Prototype


SQL_CFetch( id )

Parameter


Parameter

Typ

Bedeutung

Parameter

Typ

Bedeutung

id

string

Eindeutiger Bezeichner für den Cursor

Rückgabewert


Nummer

Typ

Bedeutung

Nummer

Typ

Bedeutung

1

table

Lua-Table mit dem gelesenen Datensatz oder nil, wenn alle Datensätze gelesen sind.

Hinweise


  • Die Funktion wird nur im Zusammenhang mit SQL_CDecl und SQL_CFree verwendet und macht alleine keinen Sinn.

  • Die Funktion kann nur auf einen Cursor angewendet werden, der mit SQL_CDecl angelegt wurde.

  • Tritt ein Datenbank-Fehler auf, führt dies zu einem Laufzeitfehler.

  • zum Lesen mehrerer Datensätze kann auch die Lua-Funktion SQL_Fetch verwendet werden.

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" -- Cursor erzeugen SQL_CDecl( "gpktab_curs", query ) local gpktab = SQL_CFetch( "gpktab_curs" ) -- ersten Datensatz lesen -- Ausgabe Titel SY_Msg( "Alphabetische Mitarbeiterliste:" ) while gpktab do -- solange Datensätze vorhanden sind (gpktab ~= nil) -- Ausgabe Mitarbeiter SY_Msg( gpktab.nname .. ", " .. gpktab.vname ) gpktab = SQL_CFetch( "gpktab_curs" ) -- nächsten Datensatz lesen end -- Speicher freigeben SQL_CFree( "gpktab_curs" )