Einzelnen Beitrag anzeigen

jangbu

Registriert seit: 6. Apr 2006
171 Beiträge
 
Delphi 10.3 Rio
 
#1

Speichern Image als Blob-Field

  Alt 15. Jun 2020, 18:35
Datenbank: MSSQL • Version: 2016 • Zugriff über: SDAC
Hallo,

ich versuche mit Delphi 10.3.3. FMX Images (Kamera Bilder) in MSSQL zu speichern und verwende dabei folgenden Code:
In der Datenbank wird zwar der Datensatz angelegt, jedoch bekomme ich beim Auslesen der Daten aus der DB die Meldung: "Nicht unterstütztes Stream-Format".
MSQuery ist die Query-Komponente von SDAC.
Images, die ich in der VCL-Version mit LoadFromFile eingelesen und in die DB geschrieben habe, lassen sich korrekt auslesen und anzeigen.


procedure TForm2.save_blob_to_DB(Sender: TObject);
var MStream: TMemoryStream;
sql_str : string;
_rec_cnt : integer;
begin
MStream := TMemoryStream.Create;
try
MSQuery1.Close;
MSQuery1.SQL.Clear;
sql_str := 'select * from sign';
MSQuery1.SQL.Add(sql_str);
MSQuery1.Open;

_rec_cnt := MSQuery1.RecordCount;

MStream.Position := 0;
Image2.Bitmap.SaveToStream(MStream);
MSQuery1.Append;

MSQuery1.FieldByName('ID').AsInteger := _rec_cnt + 1;
MSQuery1.FieldByName('DateTime').AsDateTime := now;
TBlobField(MSQuery1.FieldByName('image1')).LoadFro mStream(MStream);
MSQuery1.Post;
MSQuery1.Close;
except
on E: Exception do
begin
ShowMessage('Error: ' + E.ClassName + ' ' + E.Message);
end;
end;
MStream.Free;
end;


Wo könnte mein Problem liegen?

Gruß
jangbu
  Mit Zitat antworten Zitat