Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TStream in/aus Datenbank schreiben/laden (https://www.delphipraxis.net/161873-tstream-aus-datenbank-schreiben-laden.html)

WizoHulk 25. Jul 2011 14:30

TStream in/aus Datenbank schreiben/laden
 
Hallo

Kann man einen Stream in eine Datenbank schreiben?

Und zwar habe ich das problem das ich ein TreeList abspeichern und Später wieder auslesen möchte.

Ich habe die TreeList in einen Stream gespeichert mit
Delphi-Quellcode:
trl.SaveToStream(sStream);
Nun möchte ich diesen Stream über ein INSERT in eine Tabelle schreiben.

Hat jemand ein paar Anregungen für mich?

himitsu 25. Jul 2011 14:37

AW: TStream in/aus Datenbank schreiben/laden
 
Ein BLOB-Feld?

WizoHulk 25. Jul 2011 15:03

AW: TStream in/aus Datenbank schreiben/laden
 
ja!
hab es über TBlobStream versucht, ging leider auch nicht.

DeddyH 25. Jul 2011 15:16

AW: TStream in/aus Datenbank schreiben/laden
 
Und was heißt "ging nicht"?

WizoHulk 25. Jul 2011 15:31

AW: TStream in/aus Datenbank schreiben/laden
 
Soooo,
ein Insert habe ich hinbekommen,
aber wie kriege ich den wieder raus aus der DB. der Parameter asBlob gibt asStream gibt es ja bei q.FieldByName ja nicht.


Delphi-Quellcode:
 sStream := TMemoryStream.Create;

  trlKontaktTyp.SaveToStream(sStream);

  CreateQuery(qtemp);
  qtemp.ParamCheck := true;
  qTemp.SQl.text := 'UPDATE Dateien SET DateiBlob  = :DateiBlob,'  +
                                       'Bezeichnung = :Bezeichnung,' +
                                       'Bemerkung  = :Bemerkung '  +
                    'WHERE DSN = '+alsDSN(sBlobDSN);

  qtemp.Parameters.ParamByName('DateiBlob').LoadFromStream(sStream,ftBlob);
  qtemp.Parameters.ParamByName('Bezeichnung').Value := 'Kundenanlegen';
  qtemp.Parameters.ParamByName('DateiBlob').Value  := 'EreignisSteuerung';
  qTemp.ExecSQL;

  DestructQuery(qTemp);

DeddyH 25. Jul 2011 15:35

AW: TStream in/aus Datenbank schreiben/laden
 
Womit greifst Du denn auf die DB zu?

WizoHulk 25. Jul 2011 15:41

AW: TStream in/aus Datenbank schreiben/laden
 
mit einer TADOQuery auf einer MSSQL Datenbank

haentschman 25. Jul 2011 15:45

AW: TStream in/aus Datenbank schreiben/laden
 
Moin...
so funktioniert das mit einem Bild... (Stream lesen, geklaut in einem anderen DP Fred 8-))
Delphi-Quellcode:
var
  BlobStream: TStream;
  aq : tabsquery;
begin
      aq := tabsquery.Create(nil);
      aq.DatabaseName := 'xyz';
      aq.SQL.Add('SELECT bild FROM tbltest WHERE id = 1');
      aq.Open;
      BlobStream := aq.CreateBlobStream(aq.FieldByName('bild'),bmRead);
      ImageAnswer.Picture.Graphic.LoadFromStream(BlobStream); // liegt auf der Form!!!
      BlobStream.Free;
      aq.Close;
      aq.Free;
end;
versuch das mal auf dein Problem umzusetzen...

WizoHulk 26. Jul 2011 08:42

AW: TStream in/aus Datenbank schreiben/laden
 
Guten Morgen


Hat wunderbar geklappt

danke


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