Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2009, 13:02   #1
Artruman
Пользователь
 
Аватар для Artruman
 
Регистрация: 14.10.2008
Сообщений: 28
Сообщение Чтение из Blob(Ole)

Использую Ado и Accsess,процедура записи в Ole:
Код:
procedure TForm1.RzButton1Click(Sender: TObject);
begin
if RzOpenDialog1.Execute then
 begin
  ADOTable1.Edit;
  TBLOBField(ADOTable1.FieldByName('Ole')).LoadFromFile(RzOpenDialog1.FileName);
  AdoTAble1.Post;
 end else
 Exit;
end;
Как можно вывести сохраненный объект[в данном случае-рисунок jpeg] в DBImage или просто на форму?

Последний раз редактировалось Stilet; 03.03.2010 в 09:35.
Artruman вне форума Ответить с цитированием
Старый 03.04.2009, 13:17   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

свяжи dbimage с тем полем.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.04.2009, 14:22   #3
Artruman
Пользователь
 
Аватар для Artruman
 
Регистрация: 14.10.2008
Сообщений: 28
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
свяжи dbimage с тем полем.
Не получается пишет,что типы не совместимы.

А как именно мне связать информацию в поле с DbImage c учетом того,что картинка jpg,а не bmp?
Artruman вне форума Ответить с цитированием
Старый 03.04.2009, 14:36   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Если jpg то нужно прописать в uses модуль jpeg. Не пробовал но вроде DBImage сам дожен его подцепить.
Попробуй в общем.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.03.2010, 09:13   #5
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
Печаль

Цитата:
Сообщение от Stilet Посмотреть сообщение
Если jpg то нужно прописать в uses модуль jpeg. Не пробовал но вроде DBImage сам дожен его подцепить.
Попробуй в общем.
в uses прописано DBImage его не цепляет а если явно указать поле то выкидывает ошибку Bitmap image not valid
Lokos вне форума Ответить с цитированием
Старый 03.03.2010, 09:34   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А в базе jpeg лежат?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.03.2010, 09:36   #7
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
Радость

Цитата:
Сообщение от Stilet Посмотреть сообщение
А в базе jpeg лежат?
да сохраняю в базу таким способом

Код:
procedure TForm1.BtnSaveClick(Sender: TObject);
var
  jpg: TJPegImage;
  ms: TMemoryStream;

begin

   ADOTable1.Edit;
   ADOTable1.Append;
   jpg := TJpegImage.Create;
   jpg.Assign(Image1.Picture.Graphic);
   jpg.CompressionQuality := 20;
   jpg.Compress;
   ms := TMemoryStream.Create;
   jpg.SaveToStream(ms);
   (ADOTable1.FieldByName('Фото') as tBlobField).LoadFromStream(ms);
   ADOTable1.Post;
   ms.Free;
   jpg.Free;

end;
end;
ну а Image1 загружаю исключительно файлы jpeg
Lokos вне форума Ответить с цитированием
Старый 03.03.2010, 09:48   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Действуй обратно - из BLOB в Stream, и потом сам Stream в jpg, который отрисовывай на скажем PaintBox'е
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.03.2010, 09:56   #9
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
Смущение

Цитата:
Сообщение от Stilet Посмотреть сообщение
Действуй обратно - из BLOB в Stream, и потом сам Stream в jpg, который отрисовывай на скажем PaintBox'е
ок такая идея была))) но вот в чем загвоздка))) мне нужна картинка той записи по которой пользователь щелкает в DBGrid. Я думал это сделать на обработчик событи я onCellClik но не знаю как загрузить из блоб поля в стим
тоесть такой код не прокатит
Код:
procedure TAddData.DBGrid1CellClick(Column: TColumn);
var
 ms: TStream;
begin
ms:=(dbgrid1.Fields[10]);
end;
10 поле это поле Blob соотвецтвенно

Последний раз редактировалось Lokos; 03.03.2010 в 09:58.
Lokos вне форума Ответить с цитированием
Старый 03.03.2010, 10:20   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

ДелфиВорлд рулит:
http://www.delphiworld.narod.ru/base...from_blob.html
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение к BLOB полю Bayazet БД в Delphi 3 17.03.2009 15:52
JPEG и Blob полях Prisian БД в Delphi 5 25.04.2007 09:04
картинки в BLOB полях Toxa БД в Delphi 1 23.04.2007 13:34
BLOB в string _andrews_ БД в Delphi 0 20.04.2007 12:05
Запись *.jpg в blob John_chek Мультимедиа в Delphi 4 03.04.2007 11:35