Thema: Kundenliste

Einzelnen Beitrag anzeigen

Hobbycoder

Registriert seit: 22. Feb 2017
930 Beiträge
 
#35

AW: Kundenliste

  Alt 18. Apr 2017, 07:14
alles schon gar nicht schlecht.

Aber es müssen lediglich die SQL-Statements in den If-Block und das Bestücken von ID.
Außer dem, das parseSQL muss vor dem Zuweisen von Werten passieren. Danach macht's keinen Sinn mehr, bzw. wirkt sich nur auf den nächsten Schleifendurchlauf aus.

In etwa so:
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=:IDelse
     zqryMain.SQL.text:='INSERT INTO WARENVERKAUF1(KDNR,NAME,VORNAME,FIRMA,PRODUKT,ANZAHL,PREIS) VALUES(:KNR, :NAM, :VNA, :FIR, :PRO, :ANZ, :PRE)';
   zqryMain.params.parseSQL(zqryMain.sql.text, True);
   if self[i].ID=-1 then
     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;
end;

finally
   zqryMain.free;
end;
end;
  Mit Zitat antworten Zitat