Форум: "Базы";
Поиск по всему сайту: www.delphimaster.net;
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];




Вниз

Изображения в БД MS Access и Delphi ADO 


Andrey02   (2003-05-17 17:46) [0]

1. В MS Access изображения и др. файлы сохраняются как Ole объекты. Остаются ли они файлами (jpg gif и т.д.) внутри базы??
2. Есть ли возможность читать/писать их в базу из программы???
Может кто знает КАК??

3. Если изображением будет пользоваться только программа.
То как ЭТО сделать? в Access написать что это поле Ole, а в Delphi использовать его как Blob? Как отобразить изображение к примеру .gif или .jpg, которое будет в blob-поле в программе?
Не будет ли Access ругаться на левые данные в ole поле? Для различия формата изображений (jpg gif pcx) создавать ли новое поле или обработку оставить какому-нибудь TImage ?



nv-vetal   (2003-05-17 19:15) [1]

В MS Access изображения и др. файлы сохраняются как Ole объекты. Остаются ли они файлами (jpg gif и т.д.) внутри базы?? - Чем-то точно остаются!


Есть ли возможность читать/писать их в базу из программы???
Может кто знает КАК?? - Image1.Picture.Assign(DBImage1.Picture);

Если изображением будет пользоваться только программа.
То как ЭТО сделать? в Access написать что это поле Ole ( ДА!), а в Delphi использовать его как Blob ( Никак!!!!)? Как отобразить изображение к примеру .gif или .jpg, которое будет в blob-поле в программе?
Не будет ли Access ругаться на левые данные в ole поле( Не проверял!!!!)? Для различия формата изображений (jpg gif pcx) создавать ли новое поле или обработку оставить какому-нибудь TImage ?

Можно также DBImage1.Picture.LoadFromFile



Desdechado   (2003-05-17 19:48) [2]

файл, как и содержимое БД - это всего лишь последовательность байтов.
зачем OLE, храни как блоб и пользуйся им из Дельфи как блобом.
qry.CreateBlobStream...
для конкретики заведи еще поле, в кот. пиши формат файла, поскольку TImage понимает их не очень много, но ты после чтения можешь сам его преобразовать в понимаемый им формат.



BlackTiger   (2003-05-17 20:54) [3]

Там есть фокус. Сам делал. Дело в том, что если КЛАДЕШЬ Access"ом, а выбираешь чем-то другим - есть проблемка небольшая. Ole-объект в Access"е - это всё что угодно, но заключенное в "обрамление". Если кладешь и выбираешь чем-то одним, то никаких проблем. Access"у до лампочки, что именно ты туда засовываешь (пишешь просто массив байтов). Правда, если ты засунешь туда картинку Дельфой, то только Дельфой ты ее оттуда корректно вытянишь.

А вообще - делал, и все там нормально.

2Desdechado
В Access"е OLE-field и есть BLOB.




Форум: "Базы";
Поиск по всему сайту: www.delphimaster.net;
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.022 c
14-13455          Renegate              2003-05-20 09:02  2003.06.05  
Отстойная винда...


1-13227           МИФИст                2003-05-26 21:04  2003.06.05  
Работа со ДОСовской программой


1-13250           Vick                  2003-05-15 15:07  2003.06.05  
Программно из Делфи объединять ячейки в Excel


4-13520           Arkara                2003-04-07 04:49  2003.06.05  
RasDial - как подключить WinAPI?


1-13177           super_alex            2003-05-26 15:01  2003.06.05  
TImage мигает, но не везде!!!