Thema: Kundenliste

Einzelnen Beitrag anzeigen

EdAdvokat

Registriert seit: 1. Mai 2016
Ort: Berlin
419 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#17

AW: Kundenliste

  Alt 15. Apr 2017, 22:05
Danke erst einmal für die Hilfe. Die Anzeige in den Edit-Feldern klappt nunmehr. Will ich jedoch einen Datensatz löschen oder bearbeiten erhalte ich die Fehlermeldung "Argument außerhalb des Bereiches". Also in beiden Fällen die gleiche Meldung. Wo sollte ich nun nach welchem Problem suchen. Blöd ist nur, dass ein F1 nicht weiterhilft und der Fehler nur beim Click auf die jeweiligen Button, also beim Aufruf der Methoden erscheint. Was möge denn gemeint sein mit "...außerhalb des Bereiches.."?
Dann habe ich mir die Methode LoadfromDB angesehen, die dazu führt, dass nicht genügend Arbeitsspeicher vorhanden sei. Da kann ich jedoch nichts feststellen.
Delphi-Quellcode:
procedure TCustomerList.LoadFromDB(con: TZConnection);
var
  zqyMain: TZQuery;
  Customer: TCustomer;
begin
  zqyMain:=TZQuery.Create(nil);
  Try
    self.Clear; //Dank TObjectlist werden auch alle bereits vorhandenen Objecte automatisch freigegeben
    zqyMain.connection:=con;
    zqyMain.sql.text:='SELECT * FROM WARENVERKAUF1';
zqyMain.active:=True;
while not zqyMain.eof do
begin
  Customer:=TCustomer.Create;
  Customer.KDNR:=zqyMain.fieldbyname('KDNR').AsInteger;
  Customer.Name:=zqyMain.fieldbyname('Name').AsString;
  Customer.Vorname:=zqyMain.fieldbyname('Vorname').AsString;
  Customer.Firma:=zqyMain.fieldByName('Firma').AsString;
  Customer.Produkt:=zqyMain.fieldbyname('Produkt').AsString;
  Customer.Anzahl:=zqyMain.FieldByName('Anzahl').AsInteger;
  Customer.Preis:=zqyMain.fieldbyname('Preis').AsCurrency;
  self.Add(Customer);
end;
  zqyMain.active:=False;
Finally
  zqyMain.free;
End;
end;
Da hänge ich also fest.
Norbert
  Mit Zitat antworten Zitat