Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Inhalt
Auszug

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

.

Prototype


Codeblock
SQL_CFetch( id )

Parameter


Parameter

Typ

Bedeutung

id

string

Eindeutiger Bezeichner für den Cursor

Rückgabewert


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


Codeblock
languagelua
--[[ 
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" )