Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Borland C++, MS Access и картинки...

4 views
Skip to first unread message

Dmitriy Kulikov

unread,
Oct 27, 2007, 9:16:42 AM10/27/07
to
Hello *All* !

Ситуация такая. Есть база данных в формате MS Access. В ней хранится разная
инфа, в том числе картинки в формате bmp. Для связи программы с базой
используется ADOConnection, для работы с базой - ADOQuery. И вот что-то я
совсем понять не могу - как картинку из базы на форму поместить? Hужная
картинка ищется с помощью SQL запроса примерно такого вида:

ADOQuery1->SQL->Add("SELECT [картинка] FROM [База] WHERE [Имя] = "Вася";");

А что дальше делать?
Прошу сильно не пинать, если вопрос глупый. Hи с БД ни с изображениями раньше
не работал, тем более в Борланде...

_Dmitriy Kulikov_ для <Пpогpаммиpование на C++Builder> [27 Окт 07 - 18:17]
np: The Used - Maybe Memories (live)
[ 2:6090/14 - 2.60...@gmail.com - http://coolikoff.blogspot.com ]

Dmytry Ginzburg

unread,
Oct 28, 2007, 3:56:10 PM10/28/07
to
Здравствуйте, о моногоуважаемый(ая), Dmitriy!
Вот.. Hабил письмецо.. А вот, что из этого вышло:

Как-то, Суббота, Октябрь 27 2007, в 18:16, Dmitriy Kulikov приехал к All на
белом лимузине, да как заорёт _"Borland C++, MS Access и картинки..."_

DK> Hello *All* !

DK> Ситуация такая. Есть база данных в формате MS Access. В ней хранится
DK> разная инфа, в том числе картинки в формате bmp. Для связи программы с
DK> базой используется ADOConnection, для работы с базой - ADOQuery. И вот
DK> что-то я совсем понять не могу - как картинку из базы на форму поместить?
DK> Hужная картинка ищется с помощью SQL запроса примерно такого вида:

DK> ADOQuery1->SQL->Add("SELECT [картинка] FROM [База] WHERE [Имя] =
DK> "Вася";");

DK> А что дальше делать?
DK> Прошу сильно не пинать, если вопрос глупый. Hи с БД ни с изображениями
DK> раньше не работал, тем более в Борланде...

Положи на форму DBImage и через DataSource свяжи с ADOQuery. Делов на копейку.
Желаю Вам всего наилучшего, Dmitriy.Дмитрий.

Vladimir V. Polyakov

unread,
Oct 29, 2007, 5:53:03 AM10/29/07
to
"Dmytry Ginzburg" <Dmytry....@p125.f48.n461.z2.fidonet.org>
сообщил/сообщила в новостях следующее:
news:MSGID_2=3A461=2F48.125=40FidoNet...@fidonet.org...

> Положи на форму DBImage и через DataSource свяжи с ADOQuery. Делов на
> копейку.
> Желаю Вам всего наилучшего, Dmitriy.Дмитрий.

Все так, но есть один нюанс. Если изображение было внесено в базу не
средствами Delphi, а именно средствами Access, то заголовок картинки будет
находиться после заголовка OLE. Соответственно, DBImage заголовка битмапа не
увидит и скажет что формат невалидный. Вот тут описано:
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=14809.

--
SY, Vladimir V. Polyakov


Dmitriy Kulikov

unread,
Oct 29, 2007, 11:06:46 AM10/29/07
to
Hello *Dmytry* !

28 Окт 07 22:56, you wrote to me:

DK>> А что дальше делать?
DK>> Прошу сильно не пинать, если вопрос глупый. Hи с БД ни с

DK>> изображениями раньше не работал, тем более в Борланде...

DG> Положи на форму DBImage и через DataSource свяжи с ADOQuery. Делов на
DG> копейку. Желаю Вам всего наилучшего, Dmitriy.Дмитрий.

А можно поподробнее? Я всё так и сделал, но картинка не показывается... Просто
надпись DBImage1 и всё... :(

_Dmitriy Kulikov_ для <Пpогpаммиpование на C++Builder> [29 Окт 07 - 18:06]

Vladimir V. Polyakov

unread,
Oct 30, 2007, 9:52:20 AM10/30/07
to
"Dmitriy Kulikov" <Dmitriy...@f14.n6090.z2.fidonet.org>
сообщил/сообщила в новостях следующее:
news:MSGID_2=3A6090=2F14_4...@fidonet.org...

> А можно поподробнее? Я всё так и сделал, но картинка не показывается...
> Просто
> надпись DBImage1 и всё... :(

Обрати внимание на мой пост чуть выше. Скорее всего, причина именно в этом -
тебе мешает загрузить картинку заголовок OLE объекта.

Еще одна возможная причина - формат картинки не поддерживается компонентом
TDBImage (хотя если у тебя действительно BMP, то вряд ли). Чтобы проверить
это, можно попытаться выгрузить картинку вручную и попытаться загрузить ее в
TImage - хотя бы в дизайнтайме.

0 new messages