Форум: "Базы";
Поиск по всему сайту: 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.026 c
1-13301           Aleksei85             2003-05-24 22:45  2003.06.05  
Почему картинки на кнопке в ToolBar не видно?


1-13171           Новенький             2003-05-26 11:35  2003.06.05  
TActionPopupMenuBar


1-13166           Сюткин Павел          2003-05-24 09:49  2003.06.05  
Версия MS Office


14-13383          NaZ                   2003-05-20 20:35  2003.06.05  
Шрифты


3-13096           Ergoist               2003-05-19 11:05  2003.06.05  
Многострочный DBEdit