картинка в базе

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Alex_new_2030
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 118
Зарегистрирован: 20.02.2003 (Чт) 8:00
Откуда: Kazakhstan

картинка в базе

Сообщение Alex_new_2030 » 14.04.2003 (Пн) 13:06

Как Сохранить картинку (например 111.bmp) в базу данных base.mdb
через объект data. А потом можно было вытащить ее в Image?
Подскажите если не трудно.

Alex_new_2030
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 118
Зарегистрирован: 20.02.2003 (Чт) 8:00
Откуда: Kazakhstan

Сообщение Alex_new_2030 » 21.04.2003 (Пн) 14:02

Че никто не знает чтоли?
Помогитеееееееееееее Нужно очень.
А то картинки отдельно в файлах приходится хранить. Пока их мало - ничего, а потом когда за 1000 перевалит Я идиот! Убейте меня, кто-нибудь!??? :(

Alex_new_2030
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 118
Зарегистрирован: 20.02.2003 (Чт) 8:00
Откуда: Kazakhstan

Сообщение Alex_new_2030 » 22.04.2003 (Вт) 14:54

Крикну!!!
А в ответ тишина :)

Песенка есть такая.

Неужели некто не знает?Я идиот! Убейте меня, кто-нибудь!Я идиот! Убейте меня, кто-нибудь!?? :*(

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 22.04.2003 (Вт) 15:12

Выносить предупреждение пока не буду, но на будущее ознакомься с Правилами, в которых подробно написано, что не следует постить в свою же тему постинги с целью ее поднятия.

Alex_new_2030
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 118
Зарегистрирован: 20.02.2003 (Чт) 8:00
Откуда: Kazakhstan

Сообщение Alex_new_2030 » 23.04.2003 (Ср) 12:23

Я конечно извиняюсь за это, я просто хочу разрешить эту проблему с картинкой.

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 23.04.2003 (Ср) 13:37

С объектом Data не работал, но если подойдёт, то вот пример с ADODB. Это не готовые конечные процедуры, а только заготовки.
Код: Выделить всё
Private Sub AppendImage(ByVal FullFileName As String)
   
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    '-------
    Dim aData() As Byte
    Dim iFF As Long
   
    iFF = FreeFile()
    Open FullFileName For Binary As #iFF
    ReDim aData(0 To LOF(iFF) - 1)
    Get #iFF, , aData()
    Close #iFF
   
   
    Set cn = New ADODB.Connection
    cn.Open <ConnectionString>
   
    Set rs = New ADODB.Recordset
    rs.Open "table_name", cn, adOpenDynamic, adLockPessimistic
   
    rs.AddNew
    rs("field_name").AppendChunk aData()
    rs.Update
   
    rs.Close
    cn.Close
   
    Set rs = Nothing
    Set cn = Nothing
   
    Erase aData()
   
End Sub

Private Sub ExtractImage(ByVal FullFileName As String)
   
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    '-------
    Dim aData() As Byte
    Dim iFF As Long
   
    Set cn = New ADODB.Connection
    cn.Open <ConnectionString>
   
    Set rs = New ADODB.Recordset
    rs.Open "sql_query", cn, adOpenForwardOnly, adLockReadOnly
   
    With rs("field_name")
        aData = .GetChunk(.ActualSize)
    End With
   
    rs.Close
    cn.Close
   
    Set rs = Nothing
    Set cn = Nothing
   
   
    iFF = FreeFile()
    Open FullFileName For Binary As #iFF
    Put #iFF, , aData()
    Close #iFF
   
    Erase aData()
   
End Sub

Alex_new_2030
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 118
Зарегистрирован: 20.02.2003 (Чт) 8:00
Откуда: Kazakhstan

Сообщение Alex_new_2030 » 24.04.2003 (Чт) 13:43

Получилось!!!!!!!!!! :))))))))))
Что-то я стормозил про поле типа Binary.
Я пробовал с Memo но ничего не получилось.
А Skiperski меня на толкнул на мысль.
Я твой код правдо не пробовал, а над Data(ой) поиздевался.
Просто в базе создаешь поле типа Binaty
На форму кидаешь объекты Data и Image
объекту Data ставишь свойства:
DataBaseName=[твоя база]
RecordSource=[имя таблицы]
объекту Image ставишь свойства:
DataSource=Data1
DataField=[имя поля типа Binary]
Во время выполнения проги в Image загружаешь картинку
Image1.Picture=LoadPicture(путь и имя файла картинки)
И ВСЕ

А я тут в форуме уже всех достал с этим вопросом.
Skiperski спасибо за идею


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

    TopList