IntToStr(pr_lagerbestand + addProdukt.nb_anzahl) );
Das geht so auch nicht. pr_lagerbestand und auch addProdukt.nb_anzahl dürfte unbekannt für das Programm sein. Du mußt Delphi mitteilen, daß das ganze aus der
DB kommt. Also z.B. pr_lagerbestand. Da kommst du so dran : das IntToStr ist überflüssig und der Wert ?
p := Dataset.FieldByName ('pr_lagerbestand').AsInteger;
p enthielte dann den Feldwert als integer und kann addiert usw. werden. Allerdings schlage ich dir vor, einen Satz an Funktionen zu schreiben. Also für die ganzen Datentypen. Bei mir gibts z.B. folgendes :
Delphi-Quellcode:
function LeseIntFeld (d : TDataSet;st : string) : integer;
begin
LeseIntFeld := d.FieldByName(st).AsInteger;
end;
Leider mußte ich das da stark verkürzen. Die NULL-Werte müssen da noch abgehandelt werden und einiges andere. 8) Wie man erkennen kann, ist das jetzt über Parameter zu steuern und liefert auch den gewünschten Typ gleich zurück. Dann gibt es noch ähnliche Geschichten, die einen String zurückliefern usw. Wer weiß ? Eventuell wird der Wert in einem Stringgrid als string erwartet. Dann hole ich mir den lieber gleich mit "AsString".