Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Опять DAO...теперь в картинках Добавлено: 27.02.10 11:06  

Автор вопроса:  Dark Engine | Web-сайт: www.wentas.2bb.ru | ICQ: 343191665 
Возникла проблема с совместимостью вложений в базе данных. Попытка загнать в базу картинку выдает ошибку преобразования типов.
DAO 3.6
код примерно такой:
d2.Execute "CREATE TABLE tt(RecD LONGBINARY)"
Set d3 = d2.OpenRecordset("SELECT * FROM tt")
d3.AddNew
d3.Fields(0) = Picture1.Picture
d3.Update

При открытии созданной базы Access видит поле RecD как объект OLE, то есть предположительно тип поля указан верно. Что нужно сделать с картинкой в PictureBox, чтобы она нормально записалась в БД? Ну и сразу, как ее потом обратно в PictureBox?

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 s12



Вопросов: 24
Ответов: 363
 Профиль | | #1 Добавлено: 27.02.10 21:04
Ничего. Мучился в свое время, плюнул и сделал массив картинок, а сохранять сериализацией. Сомнительно что средствами vb6 это возможно, хотя не факт, старичёк еще может удивлять :)

Ответить

Номер ответа: 2
Автор ответа:
 Dark Engine



ICQ: 343191665 

Вопросов: 51
Ответов: 98
 Web-сайт: www.wentas.2bb.ru
 Профиль | | #2
Добавлено: 28.02.10 14:20
PictureBox при загрузке дает конверт в bmp и в базе картинки хранятся в том же виде. Потому и пытался загнать напрямую. Надо раздобыть что-то вроде конвертера из iPictureDisp в бинарку.

как вариант, писать побайтно в базу строку, состоящую из символов по принципу 1-3 символа (в зависимости от битности картинки) на точку. А символы цеплять через "Picture.Point". Правда, этот метод точночть даст маленькую, картинки потом восстанавливаться будут не очень симпатично, с пробелами. Но зато место сэкономить можно.

Мне нравится вариант с конвертацией. Как такое организовать, знает кто-нибудь?

Ответить

Номер ответа: 3
Автор ответа:
 Dark Engine



ICQ: 343191665 

Вопросов: 51
Ответов: 98
 Web-сайт: www.wentas.2bb.ru
 Профиль | | #3
Добавлено: 28.02.10 15:25
s12
Кто ищет, тот найдет:
http://www.sql.ru/forum/actualthread.aspx?bid=1&tid=29463
Там в конце накатано много, по факту, если убрать комментарии, выходит несколько меньше. Рабочесть еще не проверял. Файлег там нужен STG.tlb . Найти бы его.

Ответить

Номер ответа: 4
Автор ответа:
 Dark Engine



ICQ: 343191665 

Вопросов: 51
Ответов: 98
 Web-сайт: www.wentas.2bb.ru
 Профиль | | #4
Добавлено: 28.02.10 15:30
http://www.sql.ru/forum/actualfile.aspx?id=2436575
вот и файлег. Интересно вышло, сам спросил, сам ответил :D

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам