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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.08.2008, 13:34   #1
Pinya
Пользователь
 
Регистрация: 17.12.2007
Сообщений: 37
По умолчанию Добавление *.bmp в Access

Здравствуйте.
У меня есть БД Access. Я ее простатриваю и редактирую через Delphi. (ADOQiery + DataSource + DBGrid)
В БД у меня 4 поля и я создал 5-ое для помещения туда картинки (bmp)
А вопрос такой. Как мне туда силами Delpho + ADO помещать картинку?
А еще как ее просматривать при необходимости? (DBGrid бедь картинки не показывает)
Pinya вне форума Ответить с цитированием
Старый 08.08.2008, 14:22   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А еще как ее просматривать при необходимости? (DBGrid бедь картинки не показывает)
Ну для этого мона попробовать взять DBImage
Цитата:
Как мне туда силами Delpho + ADO помещать картинку?
Не знаю насчет Query но Table позволяет помешать файл через BLOB поля.

Это уже обсуждалось на форуме - поиском пройдись.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.12.2008, 00:38   #3
Dima_mazhor
Пользователь
 
Регистрация: 31.10.2008
Сообщений: 29
По умолчанию

Помогите решить проблему!
Загружаю картинку в access, отображать должен в DBimage, ftBlob поле включено, в ацессе тип дпнных - объект.
ВЫдает ошибку:
project.pogect1.exe raised exception class EOleexception with message "Не удается создать набор записей из указанного источника. Файл источника или поток должен содержать данные Recordset в формате XML или ADTG" Process stopped. Use step or run to continue.
???
Dima_mazhor вне форума Ответить с цитированием
Старый 19.12.2008, 10:42   #4
Mitriy08
Пользователь
 
Регистрация: 11.07.2008
Сообщений: 91
По умолчанию

Тип поля в таблице : Поле объекта OLE
Цитата:
Загружаю картинку в access, отображать должен в DBimage
Ты должен понимать, что после этого ты сможеш отображать только bmp картинки...
Mitriy08 вне форума Ответить с цитированием
Старый 19.12.2008, 14:48   #5
Dima_mazhor
Пользователь
 
Регистрация: 31.10.2008
Сообщений: 29
По умолчанию

Цитата:
Сообщение от Mitriy08 Посмотреть сообщение
Тип поля в таблице : Поле объекта OLE

Ты должен понимать, что после этого ты сможеш отображать только bmp картинки...
Так и сделанно Поле объекта OLE, то что только бмп - не пугает!
Dima_mazhor вне форума Ответить с цитированием
Старый 19.12.2008, 20:37   #6
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Использовал следующюю конструкцию для загрузки Блоб поле картинки:
Код:
var
  jpeg: TJPEGImage;
  bmp: TBitmap;
begin
  if opd.Execute then    //  opd - TOpenDialog
  begin
    jpeg := TJPEGImage.Create;
    bmp := TBitmap.Create;
  try
    try
      jpeg.LoadFromFile(opd.FileName);
      bmp.Assign(jpeg);
      ADOTable1.Edit;                  
      ADOTable1.FieldByName('ФОТО').Assign(bmp); 
      ADOTable1.Post;                  
    finally
      jpeg.Free;
      bmp.Free;
    end;
   except
     ShowMessage('Неверный формат файла!');
   end;
  end;
end;
Таким образом можно загружать не только бмп файлы, но и jpeg формата.
jpeg преобразуется в бмп, а потом записыватся в базу. Так что размер базы разрастается до внушительных размеров. Будте готовы также к тому, что время загрузки базы станет на порядок выше, также все остальные операции с базой будут производится медленнее.
Gorychev вне форума Ответить с цитированием
Старый 20.12.2008, 08:48   #7
Mitriy08
Пользователь
 
Регистрация: 11.07.2008
Сообщений: 91
По умолчанию

Цитата:
Сообщение от Dima_mazhor Посмотреть сообщение
Так и сделанно Поле объекта OLE, то что только бмп - не пугает!
У компанента AdoQuery/AdoTable для поля картинки свойство BlobType:=ftGraphic
Mitriy08 вне форума Ответить с цитированием
Старый 24.12.2008, 17:44   #8
Dima_mazhor
Пользователь
 
Регистрация: 31.10.2008
Сообщений: 29
По умолчанию

Все равно не работает! Проблема заключается в самой записи! Все время выдается ошибка:
project.pogect1.exe raised exception class EOleexception with message "Не удается создать набор записей из указанного источника. Файл источника или поток должен содержать данные Recordset в формате XML или ADTG" Process stopped. Use step or run to continue.
Dima_mazhor вне форума Ответить с цитированием
Старый 24.12.2008, 18:48   #9
Mitriy08
Пользователь
 
Регистрация: 11.07.2008
Сообщений: 91
По умолчанию

Ну выкидывай проект, скорее всего что то не так в настройках......
Mitriy08 вне форума Ответить с цитированием
Старый 24.12.2008, 20:14   #10
Dima_mazhor
Пользователь
 
Регистрация: 31.10.2008
Сообщений: 29
По умолчанию

Вот проект, Портфолио студента. Извиняюсь за хаотичность папок и некорректное название, так легче мне запоминать))))
В общем надо распоковать на диск c, тогда файл проэкта будет в C:\delphi ado\мудрим три\Project1.dpr
Проблема на форме Ob_dan, кнопочка открыть!
PS на форум не смог сбросит, пишет ошибка БД форума вот ссылка на файл:
http://www.filehoster.ru/files/bx9283
Dima_mazhor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление в БД Dissonance БД в Delphi 3 05.06.2008 21:22
Добавление Holodok БД в Delphi 1 09.05.2008 18:01
Delphy и Access.вводя инфу во вторичный файл Access, она отражалась в первом ADOTable Lev БД в Delphi 0 11.11.2007 12:14
Добавление в sql-БД antoniosm БД в Delphi 10 06.09.2007 14:15
запрос на добавление William Microsoft Office Access 3 13.07.2007 22:00