Советую сделать кнопку для загрузки картинки в DBImage
Можно подрубить модуль.
uses JPEG
Функция на конвертацию картинки из JPEG в BMP:
Код:
procedure JPEGtoBMP(FileName: TFileName; var Bmp: TBitmap);
var
jpg: TJPEGImage;
begin
jpg := TJPEGImage.Create;
jpg.CompressionQuality := 100;
jpg.Compress;
jpg.LoadFromFile(FileName);
Bmp.Assign(jpg);
FreeAndNil(jpg);
end;
Кнопка загрузки картинки:
Код:
procedure TfMASTERS.SpeedButton1Click(Sender: TObject);
var
FileName: TFileName;
Bmp: TBitmap;
begin
if fdm.QMASTERS.Active then
if fdm.QMASTERS.RecordCount > 0 then
if OpenPictureDialog1.Execute then
begin
fdm.QMASTERS.Edit;
FileName := OpenPictureDialog1.FileName;
Bmp := TBitmap.Create;
try
JPEGtoBMP(FileName, Bmp);
fdm.QMASTERS.Fields[7].Assign(Bmp);
FreeAndNil(Bmp);
except
ShowMessage('Не удалось загрузить картинку.');
FreeAndNil(Bmp);
end;
end;
end;
Вот так у меня все путем и когда я загружаю новую картинку, предыдущая удаляется.
И привяжите DBImage к BLOB полю в вашей таблице таблице.
Только для загрузки в таблице должна быть хотя бы одна запись. Так что перед тем, как грузить, сделайте запись без картинки, потом добавьте нормальную запись(с картинкой) и запись без картинки уже можно удалить.