/
DB_Select

DB_Select

Liest einen Datensatz aus der Datenbank.

Prototype


DB_Select( name, table )

Parameter


ParameterTypBedeutung
namestringName der Tabelle, aus der der Datensatz gelesen werden soll
tabletableLua-table mit den Schlüsselfeldern des Datensatzes, der gelesen werden soll

Rückgabewert


NummerTypBedeutung
1tableSelektierten Datensatz oder nil, wenn keiner gefunden wurde

Hinweise


  • Falsche Anzahl oder Typ der Parameter, ein ungültiger Tabellenname, ungültige Feldnamen im Lua-Table im zweiten Parameter und sonstige datenbankseitige Fehler lösen einen Laufzeitfehler aus!
  • Bevor auf einzelne Felder des selektierten Datensatzes zugegeriffen wird, sollte man den Rückgabewert auf ungleich nil prüfen, da sonst, wenn kein Datensatz gefunden wurde, ein Laufzeitfehler ausgelöst wird ("attempt to index a nil value").
  • Sofern in der Tabelle, aus der gelesen werden soll, ein Mandant (finr) enthalten ist, wird dieser automatisch auf den aktuellen Mandanten eingeschränkt.
  • Die EXPOS-Funktion LiesTab leistet vergleichbare Dienste.

Beispiel


Das Programm demonstriert die Verwendung von DB_Select, indem es einen 
Datensatz aus dem Artikelstamm (arttab) liest. 
--]]

local tablename = "arttab" 
local artnr = "4711"       

-- Tabelle mit den Schlüsselfeldern vorbereiten
local arttab = {}
arttab.artnr = artnr

-- Datensatz selektieren
arttab = DB_Select( tablename, arttab )

-- Prüfen, ob Datensatz gefunden und Ausgabe
if arttab then
   SY_Msg( "Artikel: " .. arttab.artnr .. ", Bezeichnung 1 = " .. arttab.artbez1 .. ", Bezeichnung 2 = " .. arttab.artbez2 )
else
   SY_Msg( "Artikel " .. artnr .. " konnte nicht gefunden werden" )
end

Related content

DB_Insert
DB_Insert
More like this
DB_Update
DB_Update
More like this
DB_BeginWork
DB_BeginWork
Read with this
SQL_Select
SQL_Select
More like this
SQL_Cursor
SQL_Cursor
More like this
DB_Load
DB_Load
More like this