Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - ListBox verbinden mit Datenbank ???


Jagg - Di 16.07.02 11:16
Titel: ListBox verbinden mit Datenbank ???
Hallo !
Kann man einen ListBox mit einer Datenbank verbinden ?

Ich habe EditFelder wo ich Einträge mache,diese werden dann in einer Datenbank gespeichert,und der Name jedes Eintrags wird in der ListBox angezeigt !
Wenn ich jetzt in der ListBox den Namen wähle will ich,das er mir dazu noch alle anderen Daten von dem Namen angibt (z.B. Ort,Strasse,E-Mail usw.)

Jagg !


wwerner - Di 16.07.02 11:26

Schau dir mal DBListbox und DBGrid an


Jagg - Di 16.07.02 11:35

Hm....
Ich habe jetzt DBListBox,warum kann ich nichts auswählen ?

Jagg !


Jagg - Di 16.07.02 12:31

Wenn ich jetzt in der ListBox den Namen wähle will ich,das er mir dazu noch alle anderen Daten in den DBEdit Feldern anzeigt (z.B. Ort,Strasse,E-Mail usw.)

Jagg !


Jagg - Di 16.07.02 15:38

Kann mir den keiner helfen ????????????????????????????????????????????


Tino - Di 16.07.02 16:28

Mach mal keinen Stress :-D

Wenn jemand eine Antwort hat dann wird er Dir auch helfen. Dann musst Du halt mal länger als 3 Stunden warten!

Gruß


Alfons-G - Mi 17.07.02 09:53

Eine DBListbox ist nicht zum Anzeigen von Daten gedacht, sondern um eine bestimmte Anzahl vordefinierter Werte anzubieten, welche in ein Feld einer Datenbank eingetragen werden können.

Wenn Du eine Listbox mit Daten aus der DB füllen willst, machst Du das mit einer Schleife:

Quelltext
1:
2:
3:
4:
5:
while not MeinDataSet.Eof do
  begin
  MeineListbox.Items.Add (MeinDataSet.FieldByName('MeinFeld').AsString);
  MeinDataSet.Next;
end;
Dann legst Du auf das onClick-Ereignis der Listbox eine Prozedur, welche in der Datenbank den Datensatz sucht, der zum angeklickten Eintrag passt.
Schau mal dazu in der Delphi-Hilfe unter "TListbox" nach.
Wie Du den Datensatz dann suchst, hängt davon ab, ob Du mit einer TTable- oder TQuery-Komponente arbeitest.

:idea:


Jagg - Mi 17.07.02 11:15

Ich glaube ihr versteht mich falsch also :

Ich habe 5 Edit Felder (Name,Vorname,Ort,HandyE-Mail)
Diese werden dann in einer Datenbank "Adressbuch" abgespeichert !
Nach jedem Eintrag wird in der DBListBox der "Name" der Person angezeigt und wenn ich jetzt auf den "Namen" in der DBListBox gehe,soll er mir die zugehörigen Daten (Vorname,Ort usw.) in den EditFeldern anzeigen !
Ich glaube das gleiche Prinzip funktioniert bei DBGrid auch,geht das den mit DBListBox ???

Jagg !


wwerner - Mi 17.07.02 11:18

warum benutzt du kein DBGrid und zeigst im Grid nur die eine Spalte (Name) an?


Jagg - Mi 17.07.02 11:28

ich möchte lieber DBListBox,geht das denn ????


Tino - Mi 17.07.02 11:31

Jagg hat folgendes geschrieben:
ich möchte lieber DBListBox,geht das denn ????

Hast Du den Beitrag von Alfons nicht gelsen?

Alfons-G hat folgendes geschrieben:
Eine DBListbox ist nicht zum Anzeigen von Daten gedacht, sondern um eine bestimmte Anzahl vordefinierter Werte anzubieten, welche in ein Feld einer Datenbank eingetragen werden können.

Was spricht denn jetzt gegen ein DBGrid? Pass es Deinen Bedürfnissen an und fertig!

Gruß


Jagg - Mi 17.07.02 11:37

wenn ich ein DBGrid wollte hätte ich es längst genommen *hehe*

Also : Der Name der in der ListBox angezeigt wird,darauf klicke ich und dann soll er mir in den editfeldern die dazugehörigen daten anzeigen,verstehst du mich ???

Wenn es nicht mit einer ListBox geht,womit dann außer einem DBGrid !

Jagg !


wwerner - Mi 17.07.02 11:44

Versuchst du eigenlich auch mal was selbst zu finden? Im DBGrid unter Options kannst du es so einstellen, das es wie eine Listbox aussieht!


Jagg - Mi 17.07.02 12:15

Das weiss ich doch !
Ich gib euch mal ein Bsp. vllt versteht ihr mich besser :


Name : Do Do Duc Nguyen
Vorname : Duc Nguyen (Martin)
Ort : 47137 Duiburg
Handy : 0174 /3627392
E-Mail : Do@gmx.de

Links sind die Editfelder,rechts ist die ListBox !
Wenn man jetzt auf den namen "Do Duc Nguyen" geht,dann erscheinen die dazugehörigen Daten in den EditFeldern,wenn ich jetzt dann den Namen "Martin" gehe,sollen dann SEINE Daten angezeigt werden !
Ok ???

Jagg !


Tino - Mi 17.07.02 12:16

Jagg hat folgendes geschrieben:
wenn ich ein DBGrid wollte hätte ich es längst genommen *hehe*
Und warum nicht?

Jagg hat folgendes geschrieben:
Der Name der in der ListBox angezeigt wird,darauf klicke ich und dann soll er mir in den editfeldern die dazugehörigen daten anzeigen,verstehst du mich ???
Natürlich, sonst hätte ich Dir nicht das DBGrid vorgeschlagen.

Jagg hat folgendes geschrieben:
Wenn es nicht mit einer ListBox geht
Grundsätzlich kannst Du das schon mit einer ListBox machen. Dann musst Du nur beim öffnen des Fensters die Datenbank durchgehen und jeden Eintrag in der Listbox vermerken. Dann beim Klick auf die Listbox musst Du dann den entsprechenden Eintrag als Aktiven Datensatz der Datenbank festlegen.

Aber einfacher geht es mit dem DbGrid vor allem wenn dann Funktionen dabei kommen wie Einfügen, Löschen, Ändern, (Verschieben).

Gruß


Jagg - Mi 17.07.02 12:17

Sorry,das hat er mir nicht gemacht !

Das erste "Do" ist bei den Edit feldern,was dahinter ist kommt zur ListBox


Tino - Mi 17.07.02 12:18

Jagg hat folgendes geschrieben:
Sorry,das hat er mir nicht gemacht ! Das erste "Do" ist bei den Edit feldern,was dahinter ist kommt zur ListBox
Sorry, aber ich verstehe kein Wort!


Jagg - Mi 17.07.02 12:19

siehe einen beitrag über "Tino"


Jagg - Mi 17.07.02 12:55

ok,ich habe es danke !
leute !


Jagg - Mi 17.07.02 14:25

wie mache ich beim DBGrid den Horizontalen schrollbar weg ?
Geht das ?

Jagg !


wwerner - Mi 17.07.02 14:33

Indem du das Grid breit genug machst oder die Spalten schmal genug


Jagg - Mi 17.07.02 14:35

axo,bin ich ddof


KeinePanik - So 21.07.02 22:59

Jagg hat folgendes geschrieben:
ok,ich habe es danke !
leute !


Und wie hast du das jetzt gemacht ???? Kannst du mir mal nen Beispiel schicken ?? Meine E-Mail schick ich dir mal privat ...