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