Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

OLE из БД MS Access

24K
25 апреля 2008 года
-=Fatal1ty=-
34 / / 06.04.2008
Привет всем! Возникла проблема. Пытаюсь извлечь битмап из БД, пишу так:
 
Код:
DataRow[] rows = dataDataSet.photo.Select("number = 1");
            Byte[] byPicture = (Byte[])rows[0]["photo"];
            MemoryStream ms = new MemoryStream();
            Bitmap bm;
            ms.Write(byPicture, 78, byPicture.Length - 78);
            bm = new Bitmap(ms);
            pictureBox1.Image = bm;

но почему то bm = new Bitmap(ms); здесь вылетает ошибка:Недопустимый параметр.
Что я делаю не так?
Спасибо
5
25 апреля 2008 года
hardcase
4.5K / / 09.08.2005
а что такое 78?

Кроме того, поток (stream), это такая штука, что если в нее чтото писать/читать, то позиция будет у него будет смещаться. Вот ты записал некий объект в поток, чтобы его считать снова необходимо сместить (метод Seek) курсор потока назад - за объект, иначе ты его не считаешь.
24K
25 апреля 2008 года
-=Fatal1ty=-
34 / / 06.04.2008
Цитата: hardcase
а что такое 78?

Кроме того, поток (stream), это такая штука, что если в нее чтото писать/читать, то позиция будет у него будет смещаться. Вот ты записал некий объект в поток, чтобы его считать снова необходимо сместить (метод Seek) курсор потока назад - за объект, иначе ты его не считаешь.



а есть альтернатива, т.е. как вытянуть изображение из бд?

P.S. 78 is the size of the OLE header for Bitmap images.

24K
26 апреля 2008 года
-=Fatal1ty=-
34 / / 06.04.2008
Разобрался! Решение было прикольное:
Короче я закинул картинку средствами Access'а, и потом пробывал ее читать в результате чего была ошибка.
Потом взял бмп из файла, перегнал его в массив байт и записал в бд, далее его считал и все заработало отлично. Так что Access чтото мудрует с картинками, записывайте изображения в ручную.
Надеюсь кому то еще поможет такое решение :)

P.S. С наступающим всем форумчан! Здоровья, удачи, успехов и спасибо помощь которую Вы всегда оказываете:)
39K
12 мая 2008 года
Annihilator
1 / / 12.05.2008
[FONT="Arial Black"]-=Fatal1ty=- [/FONT], Подскажи пожалуйста как приконнектиться к MS Access через OLE. Очень надо! Хотя бы основы
(ICQ 238136457)
241
27 мая 2008 года
Sanila_san
1.6K / / 07.06.2005
Цитата:
-=Fatal1ty=- , Подскажи пожалуйста как приконнектиться к MS Access через OLE. Очень надо! Хотя бы основы
(ICQ 238136457)

Annihilator, задавайте такие вопросы в личку, или читайте документацию. А вообще лучше создайте новую тему, поскольку вероятность получения ответа на вопрос повысится в разы.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог