Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Den Inhalt kompletten Inhalt eines Feldes in einer Combobox (https://www.delphipraxis.net/42968-den-inhalt-kompletten-inhalt-eines-feldes-einer-combobox.html)

horst 26. Mär 2005 19:22

Datenbank: Mysql • Zugriff über: dbExpress

Den Inhalt kompletten Inhalt eines Feldes in einer Combobox
 
Ich möchte mir den Inhalt kompletten Inhalt eines Feldes, einer Tabelle, in einer Combobox anzeigen lassen.

Tabelle: hckategorie
Feld: katname

Wie muss ich dann meine Abfrage formulieren?

Das klappt nicht...

Delphi-Quellcode:
procedure TForm1.Button14Click(Sender: TObject);
begin
  with abfrage do
  begin
    close;
    SQL.Text := 'SELECT * FROM hckategorie ORDER BY katname';
    open;
    if recordcount > 0 then
    begin
      ComboBox1.Items.Add(fieldbyname('katname').asstring);
    end;
  end;
end;
Grüße
Horst

horst 26. Mär 2005 19:34

Re: Den Inhalt kompletten Inhalt eines Feldes in einer Combo
 
So funktioniert es nun, aber ich bekomme nur einen Eintrag angezeigt, obwohl 2 vorhanden sind.
Delphi-Quellcode:
procedure TForm1.Button14Click(Sender: TObject);
begin
  with abfrage do
  begin
    close;
    SQL.Text := 'SELECT * FROM hckategorie ORDER BY katname';
    open;
    if recordcount > 0 then
    begin
      ComboBox1.Items.Add(fieldbyname('katname').asstring);
    end;
  end;
end;

Tau 26. Mär 2005 19:39

Re: Den Inhalt kompletten Inhalt eines Feldes in einer Combo
 
Hallo Host

du musst das ganze in ein schleife backen z.B.

Delphi-Quellcode:
while not Query1.Eof do
  begin
    ComboBox1.Items.Add(fieldbyname('katname').asstring);
    Query1.next;
  end;
und nicht das next vergessen!

Schöne Gruße
Tau

:hi:

Airblader 26. Mär 2005 19:41

Re: Den Inhalt kompletten Inhalt eines Feldes in einer Combo
 
Und bitte ersetzt den hässlichen, nciht mehr zu verwendenden * durch katname.

Das hier ist ein wunderbares Beispiel, warum man den * nicht verwenden sollte :)

air

horst 26. Mär 2005 19:49

Re: Den Inhalt kompletten Inhalt eines Feldes in einer Combo
 
Danke für eure Hilfe, bekomme dennoch immer nur einen Eintrag angezeigt, obwohl 3 in der Datenbank stehen.

[edit]

es klappt nun:

Delphi-Quellcode:
procedure TForm1.Button16Click(Sender: TObject);
begin
  listbox2.clear;
  with abfrage do
  begin
    close;
    SQL.Text := 'SELECT katname FROM hckategorie ORDER BY katname';
    try
      open;
    except
    end;
    if recordcount > 0 then
    begin
      first;
      repeat
        Listbox2.Items.Add(fieldbyname('katname').asstring);
        next;
      until eof;
    end;
  end;
end;

Tau 26. Mär 2005 19:55

Re: Den Inhalt kompletten Inhalt eines Feldes in einer Combo
 
ja ist den eigentlich der DB zeiger am anfang der DB?

oder ist er am Ende der DB wenn ja dan Quer1.First

das musste reichen

Schöne Grüsse
Tau

:thumb:

horst 26. Mär 2005 20:12

Re: Den Inhalt kompletten Inhalt eines Feldes in einer Combo
 
Hallo...
danke für deine Antwort.
Merkwürdigerweise ist es nun so das die Daten nicht in der Reihenfolge angezeigt werden wie sie in der DB stehen.
Beipiel:
In der Datenbank:
CATID katname
1 Filme
2 testkat
3 345345


in der Combo/Listbox:
345345
Filme
testkat

Somit kann ich nicht damit arbeiten, weil ich nicht die entsprechende II herausbekomme.

Airblader 26. Mär 2005 20:13

Re: Den Inhalt kompletten Inhalt eines Feldes in einer Combo
 
Ist vielleicht eine Sortierung drin?

air

horst 26. Mär 2005 20:17

Re: Den Inhalt kompletten Inhalt eines Feldes in einer Combo
 
ich habs...hätte ich doch nur ein wenig mit dem vorhergehendem Post gewartet.
Delphi-Quellcode:
 SQL.Text := 'SELECT katname FROM hckategorie ORDER BY CATID';
Ich arbeite mich gerade erst in das Thema hinein, hab mich ewig lange davor gedrückt.
Das macht echt Spaß :)))


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz