Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
1 / 1 / 1
Регистрация: 24.10.2012
Сообщений: 48
1

Работа DBImage

13.11.2013, 01:35. Показов 2789. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет,подскажите такой момент,есть таблица аксесс,в нем есть поле ОЛЕ, к каждому картежу данных загружается картинка формата bmp,в делфи мы выбираем в DBimage нужную нам таблицу в подключении(датасорс)и выбираем в датафилде нужное поле,но система пишет нам " Bitmap image is not valid",перечитал много литературы и образовалась каша в голове,объясните пожалуйста как надо правильно!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2013, 01:35
Ответы с готовыми решениями:

DbImage
как очистить dbImage? Вроде погуглил, пояндексил а ничего толкового не увидел.

DBImage в БД
Всем привет,делаю БД с помощью ADOTable,ADOConection,DBGrid и DBImage. У меня на форме есть список...

Не работает DBimage
Доброго времени суток. у меня база на аксесе подключена через ADO. в одной таблице есть поле типа...

Изображение из бд в DBImage
Здравствуйте. Столкнулся с такой проблемой не могу придумать как сделать так что бы когда...

2
101 / 97 / 23
Регистрация: 11.01.2012
Сообщений: 868
13.11.2013, 08:44 2
Лучший ответ Сообщение было отмечено North_Flame как решение

Решение

может ты неправильно загружаешь картинку в поле OLE?
Нужно как то так:
Delphi
1
2
if Image1.Picture<>nil then
DM.ADOQuery5Foto.LoadFromFile(dlgOpenPicture.FileName);
1
1074 / 987 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
13.11.2013, 09:14 3
Да, правильно, Zergius, в поле OLE непосредственно должен быть записан массив байт графики (Аксесс пишет: "Двоичные данные"),
а не что-либо иное, типа "Пакет", "Точечный рисунок" и т.п. Из-за того что "объекты" не могут быть картинками ошибка и происходит.

DBImage предназначен для отображения данных. Для записи картинки в поле OLE Аксесса можно использовать
BLOB stream и дополнительный компонент TImage:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TForm1.Button1Click(Sender: TObject);
var
   bs : TADOBlobStream; 
begin
  if OpenPictureDialog1.Execute then begin
    Image1.Picture.Bitmap.LoadFromFile(OpenPictureDialog1.FileName);
    ADOQuery1.Edit;
     bs := TADOBlobStream.Create(TBlobField(ADOQuery1.FieldByName('image')), bmReadWrite);
     try
        Image1.Picture.Bitmap.SaveToStream(bs);
     finally
        bs.Free;
     end;
    ADOQuery1.Post;
  end;
end;
Здесь 'image' - поле OLE; Image1 - дополнительный компонент, в который предварительно загружается картинка в формате BMP.
И обратить внимание, что в приведенном примере изображение пишется в уже созданную запись.
0
13.11.2013, 09:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2013, 09:14
Помогаю со студенческими работами здесь

dbimage на примере
Доброго времени суток)))) друзья)))..Народ Такая проблемка...есть база на...

DBImage - 3 вопроса
На форме DBGrid, DBImage и пара кнопок. Грид и имаж прикручен к базе. Но ситуация такова, что у...

Открытие изображения из БД в DbImage
Подскажите пожалуйста как открыть изображение из БД в DBImage.Причем в поле эдит мы вводим...

Вывод изображения в DBImage
Здравствуйте,у меня проблема с выводом изображения bmp из таблицы access в dbimage с помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru