Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi RTF als Blob in DB speichern (https://www.delphipraxis.net/108721-rtf-als-blob-db-speichern.html)

rayj 18. Feb 2008 13:59

Datenbank: MSSql • Version: 2000 • Zugriff über: ADO Components

RTF als Blob in DB speichern
 
Hi
Ich habe in meinem Programm ein RichEdit. Der dort geschriebene Text soll nun in ein Blob/Image-Feld in unsere SQL Datenbank gespeichert werden.

Habe ne AdoConnection und ein AdoDataset erstellt und dort die Tabelle mit den 2 Feldern "text_id" und "text_data" angeschlossen und müsste jetzt irgendwie die Daten aus dem RTE in dieses Feld text_data bringen.


Irgendwie komme ich gerade nicht auf die Idee, wie das gehen soll.
Habe es schon mit verschiedenen Streams versucht aber immer bekomme ich Fehlermeldungen.

Hat wer sowas schonmal gemacht und vielleicht noch nen paar Zeilen Code dafür übrig?

rayj 19. Feb 2008 08:46

Re: RTF als Blob in DB speichern
 
Ich konnte es jetzt wie folgt lösen:

Delphi-Quellcode:
procedure TForm2.SaveRTFTextToBlobField();
var
  aMS : TMemoryStream;
begin
  aMS := TMemoryStream.Create;
  rte.PlainText := False;
  rte.Lines.SaveToStream(aMS);
  ADOCommand1.Parameters.ParamByName('pText').LoadFromStream(aMS, ftMemo);
  ADOCommand1.Execute;
end;

procedure TForm2.GetRTFTextFromBlobField();
var
  aMS : TMemoryStream;
begin
  ADODataSet1.Active := False;
  ADODataSet1.Active := True;
  aMS := TMemoryStream.Create;
//  ADODataSet1.Last;
  ADODataSet1rtf.SaveToStream(aMS);
  aMS.Position := 0;
  rte.PlainText := False;
  rte.Lines.LoadFromStream(aMS);
end;
Allerdings fiel mir kurz darauf auf, dass es ja eine DBRichEdit Komponente gibt :wall: :wall:

mschaefer 19. Feb 2008 11:58

Re: RTF als Blob in DB speichern
 
Zitat:

Zitat von rayj
Allerdings fiel mir kurz darauf auf, dass es ja eine DBRichEdit Komponente gibt :wall: :wall:

Du kannst mit den Routinen auch abegleitete TRichEdit-Komponenten speichern.
Damit hättest Du gleich eine DB und nicht DB-Version bei gemeinsamer Codebasis.

Grüße // Martin


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