/
DB_Update
DB_Update
- lk
Owned by lk
Aktualisiert einen Datensatze einer Tabelle.
Prototype
DB_Update( name, table )
Parameter
Parameter | Typ | Bedeutung |
---|---|---|
name | string | Name der Tabelle, die aktualisiert werden soll |
table | table | Lua-table mit den Schlüsselfeldern der zu aktualisierenden Tabelle und mit allen Werten |
Rückgabewert
Nummer | Typ | Bedeutung |
---|---|---|
1 | number | 0 oder ungleich 0 im Fehlerfall |
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!
- Es werden alle Felder der Tabelle aktualisiert! Felder, die nicht im übergebenen Lua-Table enthalten sind werden (je nach Typ) mit 0 oder blank("") gefüllt! Es empfiehlt sich, den zu ändernden Datensatz mit DB_Select zu lesen, die zu ändernden Felder in dem von DB_Select zurückgegebenen Lua-Table zu ändern und den Datensatz anschließend mit DB_Update zu aktualisieren!
- Es ist sinnvoll, den Rückgabewert zu prüfen, da sonst der Erfolg der Anweisung nicht sichergestellt werden kann.
- Bei einem Rückgabewert != 0 handelt es sich um einen Fehlercode der Datenbank, zu dem eine aussagekräftigere Fehlermeldung im DBA30 beauskunftet werden kann.
Beispiel
--[[ Das Programm demonstriert die Verwendung von DB_Update, indem es die Artikelbezeichnung 1 des Artikels 4711 ändert. --]] -- Artikel 4711 lesen local arttab = DB_Select( "arttab", {finr=SysLogFinr, artnr="4711"} ) -- wenn Artikel gefunden if arttab then arttab.artbez1 = "neue Artikelbezeichnung" -- Artikelbezeichnung ändern local retcode = DB_Update( "arttab", arttab ) -- DB aktualisieren -- Rückgabewert auf Fehler prüfen if retcode ~= 0 then SY_Msg( "Fehler in DB_Update! - " .. retcode ) end end