Hola
Revisalo completo:
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, DB, ADODB, DBCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Image1: TImage;
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
OpenDialog1: TOpenDialog;
Memo1: TMemo;
DBNavigator1: TDBNavigator;
DataSource1: TDataSource;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses jpeg;
var jpg: TJPEGImage;
procedure TForm1.FormCreate(Sender: TObject);
begin
jpg := TJPEGImage.Create;
end;
procedure TForm1.Button1Click(Sender: TObject);
var bmp: TBitmap; Stream: TStream;
begin
if not OpenDialog1.Execute then Exit;
bmp := TBitmap.Create; bmp.LoadFromFile(OpenDialog1.FileName); jpg.Assign(bmp); bmp.Destroy;
ADOTable1.Open; ADOTable1.Insert; Stream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('photo'), bmWrite); jpg.SaveToStream(Stream); Stream.Destroy; ADOTable1.Post;
end;
procedure TForm1.Button2Click(Sender: TObject);
var Stream: TStream;
begin
ADOTable1.Open; ADOTable1.Last; Stream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('photo'), bmRead); jpg.LoadFromStream(Stream); Stream.Destroy; Image1.Picture.Assign(jpg);
end;
procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
var Stream: TStream;
begin
Stream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('photo'), bmRead); jpg.LoadFromStream(Stream); Stream.Destroy; Image1.Picture.Assign(jpg);
end;
end.
Recuerda que la foto tiene que ser BMP
Saludos