Thema: Kundenliste

Einzelnen Beitrag anzeigen

Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#42

AW: Kundenliste

  Alt 18. Apr 2017, 14:15
Die Sache ist auch ganz einfach.

In der procedure connect öffnest du deine Datenbank und machst das Select über die Tabelle. Dort rufst du auch die Methode saveTableData auf, die wiederum die Daten auf deinem Listview ausgibt. Fertig.
Wenn du dann über den Button Bearbeiten ein Item der ObjectList holen willst, geht das nicht, weil du da auch nie was reingeschrieben hat.
Die ist nämlich leer.

Die Vorgehensweise ist auch nicht so schlau.
Besser wäre es (ich glaube so hatte ich es dir auch gezeigt) die Daten erst mal nur in die ObjectList einzulesen. Die entsprechende Methode "AddCustomer" gibt es in der CustomerList ja schon.
Und wenn dann das Query abgearbeitet ist, also nach dem zqryMain.Close, dann mit FuelleListView den Inhalt der CustomerList in die Listview schreiben zu lassen.

Und die Krönung wäre es noch, wenn die die Query-Abfrage noch in eine Methode der CustomerList übernimmst und die Objecte auch dort anlegen lässt. Die Connection könntest du als Parameter der Methode übergeben.

Gruß Hobbycoder


[Edit]:

Grad gesehen, die Laderoutine gibt es in der CustomerList ja auch schon. Sie heißt LoadFromDB(...);
Schaut die mal in der Mainform die proceudre btnloadDBClick an. Dort machst du es richtig.
Und wenn man auf den Button "DB laden" klickt kann man auch editieren, weil dann die Customerlist auch Daten hat.

Schmeiß das ganze Query mal aus der OnCreate raus und füge statt dessen mal btnloadDBClick(self) ein. Voila...dann geht's.

In den Proceduren der Buttons Bearbeiten, Neu, löschen ... machst du es ja richtig. Und dadurch, dass du im OnCreate nur die Listview bestückt hast, hast du nicht mehr gemerkt, dass die ObjectList nicht geladen wurde.
Fehler die mach zu Anfang gerne macht. Mit der Zeit kommt die Erfahrung und solche Fehler passieren dir nicht mehr.



Im Übrigen, lass dich durch die vielen (richtigen) Hinweise nicht entmutigen. Sie sind gut gemeint. Ich würde dir aber raten erst einmal bei deinem jetzigen Code zu bleiben. Sicherlich kann man das anders auch noch schöner und besser machen. Aber wenn du jetzt anfängst alles immer wieder umzubauen, dann verwirrt dich das mehr, als alles andere. Besser, sein Ziel erst mal, wenn auch unschön, zu erreichen. Wenn es dann erst mal soweit läuft, dann entweder langsam umbauen, oder noch besser, mit dem hinzugewonnenen Wissen und der Erfahrung noch mal ganz neu aufbauen. Meine ersten Gehversuche in Delphi vor 20 Jahren sahen noch viel schlimmer aus.

Geändert von Hobbycoder (18. Apr 2017 um 14:30 Uhr)
  Mit Zitat antworten Zitat