Ich verzweifele fast: Hoffentlich ist das nicht großer Blödsinn:
Delphi-Quellcode:
procedure TCustomerList.SavetoDB(con: TZConnection);
var
zqryMain: TZQuery;
i: Integer;
begin
zqryMain:=TZQuery.Create(nil);
try
zqryMain.connection:=con;
for I := 0 to Self.Count-1 do
begin
if self[i].ID=-1 then
zqryMain.SQL.Text:='UPDATE WARENVERKAUF1 SET KDNR=:KNR, NAME =:NAM, VORNAME=:VNA, FIRMA=:FIR, PRODUKT=:PRO, ANZAHL=:ANZ, PREIS=:PRE WHERE ID=:ID';
zqryMain.Params.ParamValues['ID']:=self[i].ID;
zqryMain.params.ParamValues['KNR']:=self[i].KDNR;
zqryMain.params.paramValues['NAM']:=self[i].Name;
zqryMain.params.paramValues['VNA']:=self[i].Vorname;
zqryMain.params.ParamValues['FIR']:=self[i].Firma;
zqryMain.Params.ParamValues['PRO']:=self[i].Produkt;
zqryMain.Params.ParamValues['ANZ']:=self[i].Anzahl;
zqryMain.params.paramValues['PRE']:=self[i].Preis;
zqryMain.ExecSQL;
zqryMain.params.parseSQL(zqryMain.sql.text, True);
end;
for I := 0 to Self.Count-1 do
begin
zqryMain.SQL.text:='INSERT INTO WARENVERKAUF1(KDNR,NAME,VORNAME,FIRMA,PRODUKT,ANZAHL,PREIS) VALUES(:KNR, :NAM, :VNA, :FIR, :PRO, :ANZ, :PRE)';
zqryMain.params.ParamValues['KNR']:=self[i].KDNR;
zqryMain.params.paramValues['NAM']:=self[i].Name;
zqryMain.params.paramValues['VNA']:=self[i].Vorname;
zqryMain.params.ParamValues['FIR']:=self[i].Firma;
zqryMain.Params.ParamValues['PRO']:=self[i].Produkt;
zqryMain.Params.ParamValues['ANZ']:=self[i].Anzahl;
zqryMain.params.paramValues['PRE']:=self[i].Preis;
zqryMain.ExecSQL;
zqryMain.params.parseSQL(zqryMain.sql.text, True);
end;
finally
zqryMain.free;
end;
end;
Ich bin wirklich nicht sicher, ob ich das wirklich packe. Ich sitze nun schon Tage über vermutlich ein einfaches Problem.
Es ist doch wohl eine Nummer zu groß für mich.Auch mit dieser Lösung bleibt alles, wie es war.