Forum: Datenbanken
by Jumpy,
21. Apr 2017
Jupp. Schau dir wie gesagt mal an, wie du das bei Remove oder so machst.
Forum: Datenbanken
by Jumpy,
21. Apr 2017
Es müsste glaub ich
if self.id>-1 then DeleteFromDB(self.id);
inherited Delete(idx);
sein, aber im Prinzip hat p80286 recht. Genauso hast du ja z.B. die Add oder Remove Funktion überschrieben, wenn ich deine CutomerList gerade richtig im Kopf hab.
Deine Aufgabe wäre dann natürlich noch die Prozedur DeleteFromDB(ID:String) oder so ähnlich zu schreiben.
Forum: Datenbanken
by Jumpy,
21. Apr 2017
Punkt a) hast du glaub ich verstanden wie ich das meinte. Punkt c) Ansatzweise, drum erkläre ich den mal einfacher.
Stell dir vor in der Klasse CustomerList, die ja eine Objektlist beinhaltet, hast du noch eine weiter Liste enthalten, dass könnte z.B. nur eine einfache TStringlist sein.
Wenn du jetzt einen Datensatz Deletest in der CustomerList, gehst du erst hin und schreibst die ID des...
Forum: Datenbanken
by Jumpy,
20. Apr 2017
Blätter mal ein zwei Seiten zurück. Da haben Hobbycoder (meine ich) und ich dich schon mehrfach darauf hingewiesen, dass genau das passieren wird mit dem Löschen und auch warum. Darüberhinaus haben wir auch Lösungsansätze genannt. Fasse aber nochmal zusammen:
Hintergrund. Du löschst das aus der CustomerList. Dann rufst du SaveToDB auf, dabei werden alle Einträge der CustomerList entweder neu...
Forum: Datenbanken
by Jumpy,
18. Apr 2017
Dann wird es aber komplizierter, weil man dann z.B. dem Customer in der CustomerList ein Delete-Flag o.ä. verpassen müsste, ggf. mit der Folge das in der ListView weniger Einträge stehen als in der CustomerList und dann funktionieren die ganzen Index-Dinge nicht mehr,...
Forum: Datenbanken
by Jumpy,
18. Apr 2017
Bei Start des Programmes füllst du in der Connect-Funktion über SaveTableData die ListView.
Die CustomerList ist aber noch leer. Somit funktionieren die Delete und Make funktionen nicht.
(Edit: also im Prinzip das, was Hobbycode auch sagt).
Folgende Änderung reicht aber schon:
procedure TFRMMainCustomer.connect;
begin
Forum: Datenbanken
by Jumpy,
18. Apr 2017
Müsstest du nicht nach LoadFromDB usw. auch wieder FuelleListView aufrufen. Irgendwie bin ich mir nicht sicher ob CustomerList und ListView immer sauber synchron sind. Ausserdem verstehe ich nicht, warum du die Cutomerlist einmal in der Connect-Funktion von außen füllst und dann wieder mit der LoadFromDB-Methode von innern füllst, da reicht doch eine Version.
Dann hast du öfter solche...