![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: BDE
Array oder Stringlist in Datenbank speichern
Hallo,
da ich noch relativer Datenbankneuling bin habe ich hier einmal eine bescheidene Frage, auf die ich leider über Google keine richtige Antwort finden konnte. Also: Ich möchte gerne in einer Datenbank in einem Feld ein Array oder eine Stringlist speichern, also irgendetwas mit mehreren Einträgen. Wie kann ich so etwas realisieren? Ausgabe soll anschließend in einem TListbox sein. Aber das pfriemel ich mir dann schon irgendwie zurecht. Mir fehlen nur so die Grundlegenden Befehle... Ich habe mehrere Daten, die ich in dieses eine Feld eintragen möchte, zb. 21.3.05 22.10.06 23.1.01 :duck: ich hoffe mir kann jemand helfen bzw. ihr versteht, was ich meine, danke schon im Vorraus! |
Re: Array oder Stringlist in Datenbank speichern
Iiih Paradox...
Aber wenn du eine große Datenbank (wie z.B. Oracle) hast, könntest Du das z.B. über sogenannte Nested Tables abbilden. Aber für StringListen/Textarrays ist es einfacher sich einen Seperator (z.B Zeilenumbruch) auszudenken und diesen als Trenner zu verwenden und den Text in eine normales DB-Memofeld (text) zu speichern. |
Re: Array oder Stringlist in Datenbank speichern
Zumindest mit Stringlisten wäre das ziemlich einfach, TStringlist.Commatext liefert dir alle Wert als einen String den du in die DB schreiben kannst und genaus wieder lesen. Geht übringends auch mit den Listbox.Items.
Gruß Daniel |
Re: Array oder Stringlist in Datenbank speichern
danke! Das mit TStringlist.Commatext funktioniert genauso, wie ich es mir wünschte! :thumb:
|
Re: Array oder Stringlist in Datenbank speichern
So lange du bei Paradox bleibst, könntest du dir auch mal das Memofeld anschauen. Ist im Prinzip nix anderes als ne StringList: Bietet mehrere Zeilen für strings.
Ein Nachteil: Im DBGrid wird nicht der INahlt, sondern nur (MEMO) angezeigt. |
Re: Array oder Stringlist in Datenbank speichern
also ich kann jetzt problemlos listen ein und auslesen.
Jetzt habe ich einen Teil Code erstellt und ich bekomme immer den Fehler Zitat:
Code:
Hintergrundinfo dazu:
var test1, test2, test3, test4, komplett : tstringlist;
procedure TForm2.listeClick(Sender: TObject); var i: integer; begin table1.RecNo:=liste.ItemIndex+1; if table1.FieldValues['test1']<>'' then begin test1.CommaText:=table1.FieldValues['test1']; test2.CommaText:=table1.FieldValues['test2']; test3.CommaText:=table1.FieldValues['test3']; test4.CommaText:=table1.FieldValues['test4']; komplett.Clear; for i:=1 to test1.count do begin komplett.Add(test1.Strings[i]+' - '+test2.Strings[i]+' '+test3.Strings[i]+' - '+test4.Strings[i]); end; liste2.items:=komplett; end; end; Der Anwender klickt in einer Listbox auf einen Eintrag. Mit dem Klick wird die Spalte in der DB bestimmt. Dann lädt er Daten zu dem Eintrag in eine Listbox. Falls dort oben jemand durchsteigt, sage ich schon einmal: DANKE! :duck: |
Re: Array oder Stringlist in Datenbank speichern
Delphi-Quellcode:
Muss heißen:
for i:=1 to test1.count do
Delphi-Quellcode:
[EDIT]
for i:=0 to test1.count -1 do
vorraussetzung aber, dass irgendwo im Programm auch testXXX:= TStringlist.Create; aufgerufen wurde und die Listen test2,3 ... mindestens die selbe länge haben wie test1 [/EDIT] |
Re: Array oder Stringlist in Datenbank speichern
Hi mjreaper,
ist sicher Geschmackssache, aber wenn du statt der code-tags die delphi-tags verwendest, sieht das Ganze viel schöner aus. Und ändere mal das letzte statement ab:
Delphi-Quellcode:
Grüße vom marabu
procedure TForm2.listeClick(Sender: TObject);
... liste2.items.Assign(komplett); ... end; |
Re: Array oder Stringlist in Datenbank speichern
danke! es funktioniert nun!!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz