powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Чтение изображения из базы данных
31 сообщений из 31, показаны все 2 страниц
Чтение изображения из базы данных
    #38281165
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim rst9 As Object
            Set rst9 = CreateObject("ADODB.Recordset")
            rst9.Open "Select * from [Positions] where [Код товара] = 432", conn
            Dim mstream2 As Object
            Set mstream2 = CreateObject("ADODB.Stream")
            mstream2.Type = 1 'adTypeBinary
            mstream2.Open
            mstream2.write rst9.fields("Изображение").Value
            mstream2.SaveToFile App.Path & "\final.jpg", 1
            
            rst9.Close
            



Как сохранить это изображение в файл понятно, а вот как сделать чтобы оно сразу загружалось в Image1.picture без записи на жесткий диск?
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38281219
Фотография Бенедикт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slash232,

ADODB.Stream создаст только дополнительные сложности. Сохраните содержимое длинного двоичного поля в динамический байтовый массив
Код: vbnet
1.
2.
3.
Dim bData() As Byte
...
bData = rst9.fields("Изображение").Value

, далее 3731093 .
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38281261
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пользуюсь вот этим для отображения картинки из двоичного массива:

Код: vbnet
1.
Set Picture1.Picture=LoadPictureFromBytes(bData)



Класс приложен
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284147
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, у меня функция чтения изображения из базы данных находиться в модуле класса, где нельзя объявить
Код: vbnet
1.
Dim bData() As Byte

. Как быть в таком случае?
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284153
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если объявить
Код: vbnet
1.
Dim bData As Byte

то работать естественно не будет
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284278
Slash232... в модуле класса, где нельзя объявить
Код: vbnet
1.
Dim bData() As Byte

. Как быть в таком случае?Где-где нельзя объявить динамический массив?
И зачем это, кстати, делать на уровне модуля?
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284499
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slash232где нельзя объявить13-й кварталГде-где нельзя объявить?присоединяюсь
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284691
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В модуле класса
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284707
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slash232В модуле классаЗнаю класс, знаю модуль. Что такое модуль класса не знаю.
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284708
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А объявить массив можно везде.
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284709
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy, в классе
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284711
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно, можно.
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284720
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут , мой пункт 3
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284730
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чё делать все равно не понял
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284751
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
Image1.Picture = LoadPicture.LoadPictureFromBytes(Products.Item(i).Photo)

- ругается Type mismatch

В классе
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Public Property Get Photo() As Variant

End Property

Public Property Let Photo(ByVal vNewValue As Variant)

End Property



В другом классе
Код: vbnet
1.
2.
3.
4.
5.
If IsNull(rst1.fields("Изображение")) = False Then
        Product.Photo = rst1.fields("Изображение")
    Else
        Product.Photo = Null
    End If



Добавлен модуль от Shocker.Pro переименованный в LoadPicture
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284800
Slash232 Тут , мой пункт 3Dim в object module равносилен Private, а не Public.

Не хотите следовать советам, зачем их спрашиваете?

Что, по замыслу, должно делать свойство Photo? Почему оно имеет тип Variant, а не IPictureDisp (StdPicture, IPicture)?
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284805
Slash232
Код: vbnet
1.
Image1.Picture = LoadPicture.LoadPictureFromBytes(Products.Item(i).Photo)

Опять же, почему использован оператор Let, а не Set?
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284826
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
13-й квартал,

хорошо
Код: vbnet
1.
Public Photo As IPictureDisp



как при этом из базы данных получить в Photo изображение?
Код: vbnet
1.
Product.Photo = rst1.fields("Изображение")

не будет работать,т.к. разные типы данных?!
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284845
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мляяяяя

Если ты будешь делать то, что тебе говорят, а не то, что ты сам придумал, все будет работать

Код: vbnet
1.
2.
3.
Dim bData() As Byte
bData = rst9.fields("Изображение").Value
Set Picture1.Picture=LoadPictureFromBytes(bData)



Вот сделай это, убедись, что работает, а потому начинай адаптировать к своей задаче
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284870
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Код: vbnet
1.
2.
3.
4.
5.
Dim bData() As Byte
    If IsNull(rst1.fields("Изображение")) = False Then
        bData = rst1.fields("Изображение").Value
        Product.Photo = LoadPicture.LoadPictureFromBytes(bData)
    End If



При том что
Код: vbnet
1.
Public Photo As IPictureDisp

не работает! Ругается на
Код: vbnet
1.
Product.Photo = LoadPicture.LoadPictureFromBytes(bData)

В чем причина?
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284883
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
где Set?
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284887
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Код: vbnet
1.
2.
3.
Public Property Set Photo(ByVal vNewValue As IPictureDisp)

End Property

Так? Ругается
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284893
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slash232Shocker.Pro,

Код: vbnet
1.
2.
3.
Public Property Set Photo(ByVal vNewValue As IPictureDisp)

End Property

Так? Ругается

Код: vbnet
1.
SET Product.Photo = LoadPicture.LoadPictureFromBytes(bData)
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284907
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

УРЯЯЯЯЯЯЯ СПАСИБО ВСЕМ ЗА ПОМОЩЬ!
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38284914
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
off
я уж было начал думать, что мы нового Белова вырастили =)
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38286882
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
еще такой вопросик а какая функция в твоем приложенном модуле делаем наоборот, т.к. из изображения делает байтовый массив чтобы в базу данных загрузить?
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38286884
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slash232Shocker.Pro,
еще такой вопросик а какая функция в твоем приложенном модуле делаем наоборот, т.е. из изображения делает байтовый массив чтобы в базу данных загрузить?
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38286890
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
загружаю в базу я из файла:
Код: vbnet
1.
2.
3.
4.
5.
X = FreeFile
Open FullFileName For Binary Access Read Shared As #X
ReDim bFil(0 To LOF(X) - 1) As Byte
Get #X, , bFil
Close #X

что касается превращения растра из Picture в файл - что-то пробегало тут на форуме - поищи.
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38286952
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, а чем не нравится функция SavePictureToBytes в том же модуле? Я сам не пробовал, но, на первый взгляд, это оно.
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38287428
Фотография alex77755
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariySlash232В модуле классаЗнаю класс, знаю модуль. Что такое модуль класса не знаю.
Расскажи что такое "класс". Может и мне понадобится.
А то у меня только "модуль класса" имеется
...
Рейтинг: 0 / 0
Чтение изображения из базы данных
    #38287894
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex77755Antonariyпропущено...
Знаю класс, знаю модуль. Что такое модуль класса не знаю.
Расскажи что такое "класс". Может и мне понадобится.
А то у меня только "модуль класса" имеетсявыкинь русифицированный вб на помойку, вот что я скажу

впрочем, в английском, оказывается, тоже class module
не обращал внимания
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Чтение изображения из базы данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]