Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#55

Re: Image in Access Datenbank speichern

  Alt 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
  Mit Zitat antworten Zitat