Entwickler-Ecke

Datenbanken - Inhalt von Spalten auslesen....


a.C.k - Mi 11.09.02 22:41
Titel: Inhalt von Spalten auslesen....
Hallo zusammen,
habe folgendes Problem:

Ich möchte gerne den Inhalt von Spalten meiner Tabelle auslesen und als Items in eine Combobox setzten. Aber wie komme ich an die Inhalte?

Mit FindField bekomme ich (ist ja klar) nur einen Wert und über FieldList bekomme ich nur die Spaltennamen....

Es muss doch möglich sein an die Inhalte (Werte) der Spalte zu kommen.
Aber ich sehe es mal wieder nicht und in der Hilfe finde ich es auch nicht.

Könnt ihr mir helfen?

Vielen Dank im Vorraus ;)


bis11 - Do 12.09.02 05:46

Probiere es doch mal mit folgenden SQL-Befehl :

SELECT Spaltenname FROM Tabellenname


MrSpock - Do 12.09.02 06:42

Hallo a.C.k,

du kannst die Werte der Spalte wie bis11 geschrieben hat ermitteln. Dabei erhälst du eine Datenmenge, die du dann aber noch der ComboBox zuweisen musst. Das könntest du dann in einer Schleife machen. In dem Fall, dass du keine SQL Datenbank benutzt, würde ich mir aber die Abfrage sparen und gleich die Tabelle durchlaufen:


Quelltext
1:
2:
3:
4:
5:
6:
7:
MyTable.First;
ComboBox1.Clear;
while Not MyTable.EOF do
begin
  ComboBox1.Items.Add(MyTable.FieldByName('DieSpalte').AsString);
  MyTable.Next
end;


Das Ganze solltest du noch in einen try ... except Block packen.

Benutzt du eine SQL Datenbank, dann musst du die Abfrage von bis11 ausführen und die so erhaltene Datenmenge durchlaufen.


LCS - Do 12.09.02 07:15

bis11 hat folgendes geschrieben:
Probiere es doch mal mit folgenden SQL-Befehl :

SELECT Spaltenname FROM Tabellenname


Jetzt kommt mein Senf noch dazu :D

Quelltext
1:
SELECT DISTINCT Spaltenname FROM Tabellenname                    

Damit bekommst du jeden Wert nur einmal in deiner Datenmenge.

Gruss Lothar


a.C.k - Do 12.09.02 08:35

super, Danke für die schnelle antwort.


Zemke - So 20.10.02 11:33
Titel: ... eine weitere Frage zum Quellcode von MrSpock
Wie bekomme ich die Doubletten aus der Combobox heraus - ich will vorher keine(!) SQL-Abfrage machen.

Gruß
Rainer Zemke