lundi 15 janvier 2007

Persistance simple d’objet VCL en base SQL avec blob

Présentation d'une technique minimaliste de persistance d'objet en base SQL avec Delphi.

Pour cette technique on utilise la méthode d’un objet de classe TStream

function ReadComponent(Instance: TComponent): TComponent;
qui retourne un composant correspondant à l’instance décrite dans le flux TStream et la méthode

procedure WriteComponent(Instance: TComponent);
qui écrit un composant dans le flux.

Il existe dans Delphi une classe TblobStream qui permet l’enregistrement du flux dans un champ de type blob d’une base. Il suffit alors d’utiliser une instance de ce genre de flux pour enregistrer des objets en base.
La structure d’un enregistrement peut avoir la forme suivante :
Un identifiant (ID) (chaine de caractères ou entier en fonction des besoins) et un champ blob.