Entwickler-Ecke

Datenbanken - Fields-Verständnisfrage


LonghornUser - So 27.12.09 15:49
Titel: Fields-Verständnisfrage
Hallo,

ich habe eine Query gestartet und die Ergebnismenge ist eine einzelne Spalte mit einigen Zeilen. Nun möchte ich über eine Methode von TQuery auf die einzelnen "Zellen", sprich Zeilen der Spalte zugreifen.

Ich habe es schon mit Fields, FieldList, FieldByName ... versucht, aber ich kann nie vertikal zugreifen, sondern nur horizontal (Selektion der Spalte).

Habt ihr ne Idee?

Ciao LHUser


Peter Schmelzer - So 27.12.09 16:47

Alle Inhalte ausgeben ...


Delphi-Quelltext
1:
2:
3:
4:
while not query1.eof do begin
  writeln(query1.Fields[0].asString);
  query1.Next;
end;


Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt


LonghornUser - So 27.12.09 18:52

Stimmt, ist mir nun auch wieder eingefallen.

Ist aber ziemlich unintuitiv. Zumindest ich denke bei einer Map oder einer Liste eher an Indizierung als an Eof (end of file), zumal eine Query-Ergebnismenge ja nicht unbedingt eine Datei ist.


Xentar - So 27.12.09 19:05

Wieso unintuitiv?

Query zeigt auf einen Datensatz, worin du mit Fields die einzelnen Spalten ansprechen kannst.
Wenn du eine andere Zeile haben möchtest, musst du halt den Zeiger auf einen anderen Datensatz verschieben.

Nagut, die Bezeichnung EoF ist vielleicht etwas missverständlich, aber sonst find ich das Prinzip ganz gut.


LonghornUser - So 27.12.09 19:22

Ein Zugriff wie in einem StringGrid mit Zellenangabe (x,y) und den Eckdaten RowCount und ColCount ist wohl ungünstig?


Xentar - So 27.12.09 19:35

Für eine Datenbank wohl ungeeignet, ja.
Genauere Gründe kenn ich aber auch nicht.

Aber: Du hast doch Query.Fields.Count und Query.RowCount
Nur das Ansprechen von bestimmten Zellen ist anders.