AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Array oder Stringlist in Datenbank speichern

Array oder Stringlist in Datenbank speichern

Ein Thema von mjreaper · begonnen am 30. Aug 2005 · letzter Beitrag vom 7. Sep 2005
Antwort Antwort
mjreaper

Registriert seit: 15. Aug 2005
6 Beiträge
 
#1

Array oder Stringlist in Datenbank speichern

  Alt 30. Aug 2005, 12:34
Datenbank: Paradox • Version: 7 • Zugriff über: BDE
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

ich hoffe mir kann jemand helfen bzw. ihr versteht, was ich meine, danke schon im Vorraus!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Array oder Stringlist in Datenbank speichern

  Alt 30. Aug 2005, 12:42
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#3

Re: Array oder Stringlist in Datenbank speichern

  Alt 30. Aug 2005, 12:54
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
  Mit Zitat antworten Zitat
mjreaper

Registriert seit: 15. Aug 2005
6 Beiträge
 
#4

Re: Array oder Stringlist in Datenbank speichern

  Alt 31. Aug 2005, 16:18
danke! Das mit TStringlist.Commatext funktioniert genauso, wie ich es mir wünschte!
  Mit Zitat antworten Zitat
Thanatos81
(Gast)

n/a Beiträge
 
#5

Re: Array oder Stringlist in Datenbank speichern

  Alt 31. Aug 2005, 16:23
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.
  Mit Zitat antworten Zitat
mjreaper

Registriert seit: 15. Aug 2005
6 Beiträge
 
#6

Re: Array oder Stringlist in Datenbank speichern

  Alt 1. Sep 2005, 21:30
also ich kann jetzt problemlos listen ein und auslesen.
Jetzt habe ich einen Teil Code erstellt und ich bekomme immer den Fehler

Zitat:
Im Projekt xyz ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffverletzung bei Adresse 0041E362 in Modul 'xyz'. Lesen von Adresse 00000005'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
Der Fehler tritt auf, sobald folgender Quelltext ausgeführt wird:

Code:
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;
Hintergrundinfo dazu:
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!
  Mit Zitat antworten Zitat
Benutzerbild von x000x
x000x

Registriert seit: 21. Jan 2004
Ort: Bei Hamburg
308 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Array oder Stringlist in Datenbank speichern

  Alt 1. Sep 2005, 23:45
for i:=1 to test1.count do Muss heißen:
for i:=0 to test1.count -1 do [EDIT]
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]
Peter
-= Gruss Peter =-
-= alias x000x =-
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Array oder Stringlist in Datenbank speichern

  Alt 2. Sep 2005, 05:16
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:
procedure TForm2.listeClick(Sender: TObject);
...
  liste2.items.Assign(komplett);
...
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
mjreaper

Registriert seit: 15. Aug 2005
6 Beiträge
 
#9

Re: Array oder Stringlist in Datenbank speichern

  Alt 7. Sep 2005, 19:52
danke! es funktioniert nun!!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz