Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datentypen (Records) in DB speichern (https://www.delphipraxis.net/19755-datentypen-records-db-speichern.html)

Blechwolf 8. Apr 2004 10:38


Datentypen (Records) in DB speichern
 
Salut,

wie mache ich das, daß ich Records (z.B. TFont oder auch selbstdefinierte) in einer Datenbank speichere, ohne jeweils alle Felder separat anzugeben ?
Theoretisch müsste sowas mit ADT-Feldern funktionieren. Aber wie funktionieren ADT-Felder ???
Am liebsten wäre es mir wenn jemand das ganze mit TClientDataSet's erklären bzw. mir einen Tip geben könnte.
Allgemeine Hinweise reichen allerdings auch schon. Das wusele ich mir dann schon fürs TClientDataSet zurecht...

Grüße

Wolf

Hansa 8. Apr 2004 10:42

Re: Datentypen (Records) in DB speichern
 
Das nennt sich normalerweise Blob-Felder (binary large ???) . Da paßt alles rein. Du verwendest das fast so, wie ein einfaches Zahlenfeld auch.

Blechwolf 8. Apr 2004 10:45

Re: Datentypen (Records) in DB speichern
 
OK, und wie schreibe ich die Daten in so ein Blob-Feld hinein ?
Wenn ich dem einfach versuche einen Wert zuzuweisen, dann bekomme ich ne Fehlermeldung.
Mal angenommen ich habe einen Graphen (DBCGraph) und will jetzt die Titel-Schriftart in mein Feld schreiben.

CDSGraphProps.InsertRecord([..., DBCGraph.Title.Font,...]);

produziert einen Fehler.

Grüße

Wolf

Hansa 8. Apr 2004 10:54

Re: Datentypen (Records) in DB speichern
 
Das habe ich doch gestern erst jemand gesagt :gruebel: Gehe auf www.delphi-tutorials.de Da ist ein Tutorial von Lemmy zum Thema. Auswendig weiß ichs jetzt auch nicht genau.

Blechwolf 8. Apr 2004 11:14

Re: Datentypen (Records) in DB speichern
 
Hm, also in den Beiträgen von gestern, wo Du als Autor drin stehst, finde ich nix...
Und das Tutorial von Lemmy hilft mir auch nicht wirklich weiter, da er lediglich auf die Optionen LoadFromFile und SaveToFile eingeht bzw. Bilder und Texte behandelt...

Lemmy 8. Apr 2004 11:51

Re: Datentypen (Records) in DB speichern
 
Hi,

Du kannst die Methode ASSIGN des entsprechenden TBlobField verwenden, allerdings muss das zu speichernde Objekt ebenfalls eine Methode besitzen (AssignTo), die die Zuweisung zum Blob regelt. Somit scheidet ein Record schon mal aus, es muss ein Objekt sein. Allerdings funzt es nicht so einfach (habe es gerade mit TFont getestet). Das Objekt muss von TPersistent abgeleitet sein und eben die Methode AssignTo besitzen, die das Objekt einem TBlobField zuweisen kann. Wie das funzt (sprich eine solche Methode zu entwerfen) weiß ich auch nicht. Vielleicht habe ich über die Feiertage Zeit und Lust da rumzuprobieren.... ;-)

Grüße
Lemmy

Blechwolf 8. Apr 2004 11:51

Re: Datentypen (Records) in DB speichern
 
Ok, ich habs anders gelöst. :hello:
Ich habe in mein Dataset die entsprechenden Blob-Felder gesetzt und als Edit-Felder für den Graph-Titel etc. Rich-Edit-Felder eingebaut.
Damit und mit Lemmy's Tut sollte es funktionieren...

Grüße

Wolf


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:50 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