Ok, Danke Bebe,
das funktioniert. Hab dann eine
SQL-Datensicherung gemacht und mir angeguckt, was in dem BLOB steht, und es ist wirklich das Bild.
Ach ja ich sollte noch erwähnen, dass in der Tabelle nur jpg vorkommen können.
Nun habe ich angefangen das BlobFeld auszulesen und in ein TImage anzuzeigen. und da bekomme ich immer den Fehler JPEG #41. Dann habe ich hier gesucht und nix gefunden, nur das habe ich gefunden, was ich eh schon gemacht habe.
Delphi-Quellcode:
var sql :
String;
BS : TClientBlobStream;
blobF : TBlobField;
MS : TMemorystream;
jpg : TJPEGImage;
...
//.. Schnipp
//Bild anzeigen
bS.Position:=(JpegStartsInBlob(Datamodule1.cds1.FieldByName('
Blobbild')
as TBlobField));
Try
bS.Seek(JpegStartsInBlob(Datamodule1.cds1.FieldByName('
Blobbild')
as TBlobField), soFromBeginning);
MS := TMemoryStream.Create;
MS.CopyFrom(BS, BS.Size);
MS.Position := BS.Position;
jpg:=TJPEGImage.Create;
//JPEGtoBMP(bs);
jpg.LoadFromStream(bs);
Image1.Picture.Graphic:=jpg;
//habe das probiert
Image1.Picture.Graphic.LoadFromStream(ms);
//und das auch, und habe beides probiert.
Finally
ms.Free;
End;
Das sind so die Ergebnisse die ich bei der Suche gefunden habe.
Was mache ich hier falsch?