Форум: "Базы";
Поиск по всему сайту: 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.71 MB
Время: 0.026 c
1-13312           Кен                   2003-05-23 03:25  2003.06.05  
А нет ли такой функции, чтобы преобрзовывать class в string ?


14-13367          @Ujin                 2003-05-16 18:29  2003.06.05  
Где бы так добыть DBGrid с переносом строк по словам в ячейке?


14-13476          iFot                  2003-05-20 17:48  2003.06.05  
ini Доки


1-13185           swordent              2003-05-26 17:26  2003.06.05  
ZIP... ну или ещё чего...


3-13035           Grac                  2003-05-15 20:12  2003.06.05  
Соединение с базой данных