Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
Delphi 12 Athens
|
Re: Image in Access Datenbank speichern
1. Mai 2009, 19:15
Und wenn Du das ADODataset.Edit weglässt?
[edit] Habe meinen alten Code wiedergefunden (Firebird und ZEOS, aber das dürfte mit ADO ähnlich funktionieren):
Delphi-Quellcode:
procedure TFrmNewPic.btnSaveClick(Sender: TObject);
var Stream: TMemoryStream;
aBMP: TBitmap;
aJPG: TJPEGImage;
begin
if Image1.Picture.Graphic.Empty then exit;
Stream := TMemoryStream.Create;
try
aBMP := TBitmap.Create;
try
aJPG := TJPEGImage.Create;
try
try
aBMP.Assign(Image1.Picture.Graphic);
aJPG.Assign(aBMP);
aJPG.SaveToStream(Stream);
Stream.Position := 0;
with ZQuery1 do
begin
Close;
SQL.Text := ' INSERT INTO Bild(Grafik, Bezeichnung) VALUES(:img,:bez)';
ParamByName(' img').LoadFromStream(Stream,ftGraphic);
ParamByName(' bez').AsString := edtBezeichnung.Text;
ExecSQL;
end;
MessageBox( Handle,' Bild wurde gespeichert',' Information',MB_OK or MB_ICONINFORMATION);
Close;
except
MessageBox( Handle,' Bild konnte nicht gespeichert werden',' Fehler',MB_OK or MB_ICONERROR);
end;
finally
aJPG.Free;
end;
finally
aBMP.Free;
end;
finally
Stream.Free;
end;
end;
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|