Entwickler-Ecke
Datenbanken - Inhalt eines ADOQuerys aufschlüsseln
Morpheus1572 - Fr 14.11.08 08:39
Titel: Inhalt eines ADOQuerys aufschlüsseln
Moin Leutz,
Sorry, ich habe keine Ahnung wie ich das Thema sonst hätte benennen sollen. Hier also mein Problem.
Ich steh in Mitten von vielen Bäumen und würde gerne mal den Wald sehen...
Also:
Mittels eines ADOQuerys hole ich mir bestimmte daten aus der DB. Diese Daten in einem ADOGrid anzuzeigen ist simpel. Wenn ich bestimmte infos haben möchte, nutze ich folgendes Konstrukt:
Delphi-Quelltext
1: 2: 3:
| ADOQuery4.Active:=true; ds := DataSource4.DataSet; test := ds['Straße']; |
Nun kann ich mit test rumspielen, da steht nun der ertste wert drin. Wie komme ich aber an die restlichen - z.b. 5 werte ran??? Die werde mir im Grid angezeigt aber wie kann ich die so abfangen???
Grund: ich muss diese Werte drucken.
Ich denke mein Problem ist simpel aber ich steh wie gesagt im Wald ... ... ...
Thx für eure Hilfe.
Morph.
Bernhard Geyer - Fr 14.11.08 09:29
Hier ist der Wald :-)
Delphi-Quelltext
1: 2: 3: 4: 5:
| for i := 0 to ds.FieldCount - 1 do begin txt := ds.FieldByName(i).AsString; ... end; |
Morpheus1572 - Fr 14.11.08 09:55
Äh, danke für die schnelle antwort...
Nur bekomme ich bei ds. keine annähernd entsprechende auswahl. was mache ich falsch?
Gruß Morph.
Nachtrag um das zu Kommentieren:
for i .... klappt noch! ABER bei der Zuweisung für die StringVariable txt bekomme ich die FieldByName sache nicht. sehr wohl aber, wenn ich ds. völlig alleine "hinstelle"...
Morpheus1572 - Fr 14.11.08 11:11
So, habe es jetzt erst mal so gelöst. ist aber noch nicht so wie ich es brauche....
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| ds := DataSource4.DataSet; for zz := 1 to ds.RecordCount do begin for sz := 0 to ds.FieldCount -1 do begin test := ds.Fields[sz].AsString; PrintTab(test); end; NewLine; end; |
Die sz-Schleife gibt mir brav die werte der ersten Zeile (zz-Schleife) aus.
zz: im ersten Query-durchlauf gleich 11
sz: im ersten Query-durchlauf gleich 4
die 4 werte in der zeile gibt er mir also korrekt wieder.
jedoch gibt er mir diese zeile genau 11 mal aus. jedoch müssen in den anderen zeilen andere inhalte stehen...!!!
Help, please!
alzaimar - Fr 14.11.08 11:47
Dem Dataset mußt Du noch sagen, das es eine Zeile weiter springen soll. So geht das:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| MyDataSet.Active := True;
MyDataSet.First; While Not MyDataSet.Eof Do Begin MyDataSet.Next; End; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!