Страница 1 из 1

VB pictures в BLOB ?

Добавлено: 21 июн 2005, 14:11
Spa_2002
Работаю на VB6 через ADO c IB6
задача - хранить в базе картинки из Picture и соответственно их показывать.
проблема - Не удается сохранить ни одну картинку . Текст привожу

CREATE TABLE "IMG1"
(
"IMAGE1" BLOB SUB_TYPE 0 SEGMENT SIZE 80
);


далее код VB:
В Picture1 загружена картинка из файла.
cnn1 - поднятое соединение с базой

Dim cmd1 As ADODB.Command

Set cmd1 = New ADODB.Command

With cmd1
.ActiveConnection = cnn1
.CommandText = "insert into img1(image1) values(?)"
End With

' автоматически генерируем список параметров
cmd1.Parameters.Refresh

' для единственного параметра задаем значения соотв. свойств
cmd1(0).Size = 10000000
cmd1(0).Attributes = adParamLong
cmd1(0).Type = adLongVarBinary
cmd1(0).Direction = adParamInput

' на этой строке выходит ошибка
' Application uses a value of the wrong typefor the current operation
cmd1(0).Value = Picture1.Picture
cmd1.Execute

пробовал в качестве TYPE параметра указывать adVariant, в этом случае присвоение проходит , но в момент выполнения Excecute вылазит ошибка конвертирования данных

Подскажите что делать . На VBAшных форумах на этот вопрос никто не знает ответа. Только предложения хранить файл на диске , а в базе только путь на него . Но в системе клиент- сервер это , конечно же неприемлемо.

Добавлено: 23 июн 2005, 10:25
Spa_2002
Всем привет . Нашел решение (с применением ADODB.STREAM). Если кому интересно как это выглядит на Vb через ADO и IBP Free, обращайтесь . ))