Форум: "Базы";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
ВнизОтображение картинки из базы Access Найти похожие ветки
← →
mouse_web (2004-07-29 17:47) [0]Подскажите как отобразить картинку...
Я создал в базе Access таблицу с картинками (поля OLE). Прямым копированием картинок наполнил таблицу.
Для просмотра в форме delphi использую элемент DBImage, но он не хочет показывать... Выдается ошибка "Bitmap image is not valid".
Подскажите, пожалуйста, может другой элемент надо использовать?
← →
clickmaker © (2004-07-29 17:50) [1]
> Прямым копированием картинок наполнил таблицу
енто как?
и подозреваю, что поля OLE - это не совсем bitmap, а DBImage нужен именно он
← →
Term (2004-07-29 17:51) [2]
> Подскажите, пожалуйста, может другой элемент надо использовать?
или другой тип поля :)))
← →
mouse_web (2004-07-29 17:56) [3]
> или другой тип поля :)))
В Access при создании таблицы есть только поле "Поле объекта OLE" для рисунков, файлов и т.п. Поэтому использовать другой тип поля не получится.
← →
Term (2004-07-29 17:58) [4]тебе так важно чтобы использовать именно аксес???
ваще и в дальнейшем гемороя ты с ним не оберешся, т.к. он примитивен, а разве там нет типа блоб???
← →
mouse_web (2004-07-29 18:02) [5]А что можешь предложить?
Мне картинки хотелось бы хранить в базе данных.
А полей типа блоб там нет :(
← →
Johnmen © (2004-07-29 18:20) [6]Поля типа блоб там есть. Только называются по-другому...:)
По работе с блобами вопросы регулярны - ищи ответы на этой конфе.
← →
sniknik © (2004-07-29 22:38) [7]> т.к. он примитивен, а разве там нет типа блоб???
не знаеш элементарного (есть ли блоб), а уже судиш о примитивности?
кстати насчет "примитивности", базы аксес (jet) единственные (!!!!) из всего семейства OLEDB драйверов, кто поддерживает некоторый класс свойств (локальные индексы, поиск по индексам), наряду с методами сетевыми. такое вот "два в одном".
(меняется все быстро, может я уже и ошибаюсь... но вряд ли, сейчас все новое только на серверные технологии ориентируют)
> Подскажите как отобразить картинку...
проще всего отображать положенное из самой дельфевской программы, так например
ADODataSet1.Edit;
TBlobField(ADODataSet1.FieldByName("ImField")).LoadFromFile("Name.Bmp");
ADODataSet1.Post;
так DBImage это поле будет "видеть" невзирая на то что оно вообщето OLE ;о).
← →
mouse_web (2004-07-30 10:36) [8]извините за глупый вопрос, а этот пример на событие надо ставить? и каким образом привязать к DBImage?
или в DBImage стандартно прописать DataField и все?
← →
Term (2004-07-30 10:40) [9]
> > т.к. он примитивен, а разве там нет типа блоб???
> не знаеш элементарного (есть ли блоб), а уже судиш о примитивности?
>
я не сужу о примитивности, это был просто наводящий вопрос, скорее не вопрос а подсказка :)) в какую сторону нужно смотреть
← →
Term (2004-07-30 10:42) [10]
> наряду с методами сетевыми
чтото я не понял, я думал что аксес предназначен для локальных БД???
← →
roottim (2004-07-30 11:03) [11]2Term (30.07.04 10:42) [10]
так точно... может и нафайл-сервере стоять
но принцып работы с ней как с клиент-сервером
← →
sniknik © (2004-07-30 11:06) [12]> чтото я не понял, я думал что аксес предназначен для локальных БД???
база да, локальная (декларируется так), но jet (OLEDB провайдер) работает как будто с сетевой (все идет через некое ядро, которое условно можно называть сервером), сделано так потому как ADO именно под это и предназначалось. такие настройки стоят по умолчанию. но ест возможность также работать как с локальной базой (прямое открытие файлов, без перекачки и буферизации). посмотри хелп на метод seek, там в сносках прописано что ему нужно. дальше см. указаное там.
← →
sniknik © (2004-07-30 11:10) [13]> а этот пример на событие надо ставить?
ага, на событие нажатия кнопки например. ;о)
> или в DBImage стандартно прописать DataField и все?
для положеного так (и только bmp), да все.
← →
Term (2004-07-30 11:46) [14]
> но принцып работы с ней как с клиент-сервером
> все идет через некое ядро, которое условно можно называть
> сервером
понятно в общем, у меня это больше гипотетический интерес, так как сам в основном FB использую, но мне интересен тогда такой вопрос, на сервере лежит файл с расширением mdb, я подключаюсь, если в случае файл сервера тут понятно, а вот клиент-сервер я чтото не пойму как будет производиться скажем обработка транзакций??? вернее кто её будет производить???
← →
sniknik © (2004-07-30 11:57) [15]та машина с которой подключаешся, аналогично файл серверу, т.к. это "серверное ядро" будет на той же машине, а не там где база лежит. (вернее там оно тоже будет но незадействованое)
(может конечно эти ядра, на разных машинах, както вяжутся между собой и друг другу "помогают", но мне об этом ничего не известно, и не читал ничего подобного. т.е. это очень "дикое" предположение ;о))
← →
Term (2004-07-30 12:09) [16]из этого следует что лучше его не использывать подобным образом, раз уж все досконально не известно, то могут а скорее и будут проблемы, спасибо за информацию
← →
sniknik © (2004-07-30 12:37) [17]а разве все бывает досконально известно? ;о)
но вообще правильно, лучше не использовать как серверную базу раз она декларируется как локальная.
кстати ситуация с транзакцией наверное будет аналогична если использовать файрбирд персонал но базу брать с соседней машины по расшареной папке. тоже ведь нехорошо? и даже то что на соседней тоже лежит dll от такой же персональной версии мало чем поможет. ;о)) но зато в случае с сервером это правильно а методов менять не нужно, перецепил конект и все.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.154 c