Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.12.2006, 03:32
renex renex вне форума
Прохожий
 
Регистрация: 21.12.2006
Сообщения: 2
Репутация: 10
По умолчанию blob поле в image

Есть mdb база, доступ через ado , есть поле типа Ole , подскажите плз как сохранять в базу картинки и отображать их на форме.

когда

пробовал отображать картинку из поля разными способами возникает ошибка
Ответить с цитированием
  #2  
Старый 21.12.2006, 07:52
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Копай в сторону метода Assign
Ответить с цитированием
  #3  
Старый 21.12.2006, 10:38
renex renex вне форума
Прохожий
 
Регистрация: 21.12.2006
Сообщения: 2
Репутация: 10
По умолчанию

пробовал так
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select picture from pictures where id=1';
adoquery1.Open;
if not adoquery1.IsEmpty then
image1.Picture.Bitmap.Assign(adoquery1.FieldByName ('picture'));
Ответить с цитированием
  #4  
Старый 09.08.2007, 21:22
alex67 alex67 вне форума
Прохожий
 
Регистрация: 09.08.2007
Сообщения: 2
Репутация: 10
Радость Я использовал TDBImage. Буду очень рад, если помогло

// Процедура добавления фотографии в базу
procedure TfrmAddUs.btnPicEditClick(Sender: TObject);
begin
if OpenPictureDialog1.execute then
DBImage1.Picture.LoadFromFile(OpenPictureDialog1.f ilename);

DM.aqrUs.Edit; TBlobField(DM.aqrUs.FieldByName('FOTO')).LoadFromF ile(OpenPictureDialog1.FileName);
DM.aqrUs.Post;
end;


// Процедура показа фотографии
procedure TfrmMain.ShowPhoto;
var
Bitmap: TBitmap;
BS: TStream;
begin
Bitmap := nil;
BS := nil;
frmAddUs.PageControl1.ActivePageIndex := 0;
try
BS:= DM.aqrUs.CreateBlobStream(DM.aqrUs.FieldByName('FO TO'), bmRead);
Bitmap:= TBitmap.Create;
Bitmap.LoadFromStream(BS);
frmAddUs.DBImage1.Picture.Graphic:= Bitmap;
finally
Bitmap.Free;
BS.Free;
end;
end;

// Данные сотрудника
procedure TfrmMain.tbtUsOptClick(Sender: TObject);
begin
frmAddUs := TfrmAddUs.Create(Application);
frmAddUs.Label7.Caption := DM.aqrUs.FieldByName('ID_US').AsString;
frmAddUs.Caption := ' Свойства: '+DM.aqrUs.FieldByName('Last_Name').Value+
' '+DM.aqrUs.FieldByName('First_Name').Value;
ShowPhoto;// Используем процедуру показа фотографии.
if frmAddUs.ShowModal = mrOk then
begin
if DM.aqrUs.Modified then
DM.aqrUs.Post;
end;
frmAddUs.Free;
end;
Ответить с цитированием
  #5  
Старый 09.08.2007, 21:30
alex67 alex67 вне форума
Прохожий
 
Регистрация: 09.08.2007
Сообщения: 2
Репутация: 10
Радость Еще кое-что.

Забыл сказать, что использовать надо .bmp изображения.
Использование jpeg, тоже не проблема, но это другая тема.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:19.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter