Entwickler-Ecke
Datenbanken - Datensatz in Variable??
schnief7 - So 19.01.03 20:07
Titel: Datensatz in Variable??
Hallo!
Ich möchte gern einen Datensatz aus einer DB (z.B. über TQuery) in eine Variable speichern.
Wenn dann die Verbindung zur DB beendet wird, sollte in der Variable immer noch der Inhalt des Datansatzes stehen.
Am besten wäre natürlich, wenn die Werte über
<variable>.fieldbyname('name').asstring
abrufbar wären.
Geht das überhaupt??
smiegel - So 19.01.03 22:38
Hallo,
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| var meineTextVar:String; ... ... MyQuery.Open; meineTextVar:=MyQuery.FieldByName('MeinFeld').AsString; ... |
UGrohne - So 19.01.03 22:42
Also ich glaube nicht, dass er das meinte, er wollte glaub ich einen ganzen Datensatz in eine Variable speichern.
ALso ich würde es so lösen, wenn sich die Anzahl und Namen der Spalten nicht ändern würden.
Ich würde eine Klasse erstellen mit den ganzen Feldern:
Quelltext
1: 2: 3: 4: 5: 6: 7:
| type TDatensatz = record Feld1:String; Feld2:Integer; .... end;
var datensatz:TDatensatz |
Dann kannste einfach über
datensatz.Feld1 usw auf die einzelnen Felder zugreifen.
Is das so in Ordnung?
Gruß
schnief7 - So 19.01.03 22:53
Hallo!
Danke schon mal für die Vorschläge!!
Aber ich habe genau das Problem, das sich die Anzahl der Spalten ändert.
Ich hab schon probiert das irgendwie über den Typ TDataSet oder TField zu machen. Habs aber nicht hinbekommen (bin nocht nicht so tief in der materie drin)
Weis jemand weiter??
smiegel - So 19.01.03 23:00
Hallo,
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| type TMyTextArr=array of String;
var MyTextArr:TMyTextArr;
... MyQuery.Open; SetLength(MyTextArr, MyQuery.FieldCount); for i:=0 to MyQuery.FieldCount-1 do MyTextArr[i]:=MyQuery.Fields[i].AsString; ... |
schnief7 - Mo 20.01.03 02:30
H!
jup! das funktioniert.
ist zwar nicht ganz so konfortabel wie ich mir das gewüncht habe aber funktioniert bestens :lol:
Danke für die schnelle Hilfe
schnief7
bis11 - Mo 20.01.03 08:05
Nimm statt einem Array doch eine StringList. Und speichere jeden Datensatz in eine Zeile. Die Felder trennt Du durch ein Semikolon z.B. So kannst Du es auch als Textdatei abspeichern und in Excel zum Beispiel einlesen.
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!