Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: CL | DM;

Вниз

Отображение картинки из базы 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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.051 c
14-1091533035
}|{yk
2004-08-03 15:37
2004.08.22
4 уровневая архитектура???


11-1079627508
RA
2004-03-18 19:31
2004.08.22
Приоритеты в КОЛ


1-1091783381
msgipss
2004-08-06 13:09
2004.08.22
dcu в pas


1-1091691282
СержК
2004-08-05 11:34
2004.08.22
Можно ли вставить в свой проект фрагмент кода на VB


14-1091479516
Lamers not dead
2004-08-03 00:45
2004.08.22
Где взять JRO_TLB?