[BLOB]Enreg Stream dans Field
Salut.
Je réussis à enregistrer un composant dans un flux de fichier(TFileStream)
Mais j'aimerais le stocker dans une bdd. Voici mon code actuellement:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
procedure TForm1.SaveObjet;
var
Data : TFileStream;
begin
Query1:=TQuery.Create(Self);
With TQuery1 Do
Begin
.......
Data:= TFileStream.Create('MonFichier.dat', fmCreate);
Data.WriteComponent(RichEdit1);
ParamByName('commentaire').LoadFromStream(Data,ftFmtMemo);
ExecSql
Data.Free;
end; |
Ca marche trés bien. J'arrive à recharger le flux à partir de la base. Mais mon problème vient du fait que je passe par un TFileStream, et que le fichier 'MonFichier.Dat' ne sert à mon avis à rien. Je voudrais éviter de passer par un fichier. Mais quand je fais:
Code:
1 2 3 4 5 6 7 8 9
|
var
MonBlobField:TBlobField;
Data:TBlobStream;
Begin
MonBlobField:=TBlobField.Create(Self);
MonBlobfield.SetFieldType(ftFmtMemo);
Data:=TBlobStream.Create(MonBlobField,bmWrite);
End; |
J'ai une erreur sur : Data:=TBlobStream.Create(MonBlobField,bmWrite);
POURQUOI???
Merci
De plus, je n'arrive pas à conserver les infos de mise en forme du RichEdit!