Versionen im Vergleich
verglichen mit
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 | ||
---|---|---|
| ||
--[[ 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" ) |