Форум: "Базы";
Текущий архив: 2003.02.20;
Скачать: [xml.tar.bz2];
ВнизКак передать в процедуру ИЗОБРАЖЕНИЕ? Найти похожие ветки
← →
yuli (2003-02-04 14:40) [0]Задача - учет сотрудников на фирме. Не могу сделать Изменение анкеты. Чтоб изменить карточку, выставить новую фотку и ПОСЛЕ нажатия кнонки ОК данные занеслись в Базу. Помогите, очень надо, уже дымлюсь! Спасибо.
← →
D (2003-02-04 14:46) [1]В какую проц-ру?
После нажатия кнопки - Dataset.Post.
← →
yuli (2003-02-04 14:49) [2]нужно передать Image.Picture.Bitmap в базу как параметр UDF, но вылазит ошибка несовпадения данных либо ничего не передается. Поле типа BLOB.
И обратная задача - из поля, возвращаемого UDF скопировать данные в Image.Picture.Bitmap
То есть нужно хранить картинки в базе и показывать их в Image.
Дайте пример плиз!
← →
Digitman (2003-02-04 15:04) [3]
> нужно передать Image.Picture.Bitmap в базу как параметр
> UDF
А зачем UDF-то ? Каково назначение UDF в этой цепочке ?
Клиент на своей стороне может создать объект класса TBlobStream, ассоциированный с Blob-полем, предназначенным для хранения картинки (см. метод CreateBlobStream)
Поскольку класс TBitmap имеет методы SaveToStream/LoadFromStream, ничто не мешает передать в эти методы параметром тот самый экз-р объекта TBlobStream.
← →
yuli (2003-02-04 16:05) [4]а можно пример, как из Image.Picture.Bitmap передать битмап в IBStoredProc.Param[0], ну не получается...
← →
Digitman (2003-02-04 16:31) [5]ну что-то типа такого :
var stream: TMemoryStream;
..
stream := TMemoryStream.Create;
try
Image.Picture.Bitmap.SaveToStream(stream);
stream.Position := 0;
IBStoredProc.Prepare;
IBStoredProc.Param[0].LoadFromStream(stream, ftBlob);
// старт транзакции
try
IBStoredProc.ExecProc;
// подтверждение транзакции
except
// откат транзакции
raise;
end;
finally
stream.Free;
end;
← →
D (2003-02-04 16:41) [6]Param[0].Assign(BitMap) ?
← →
yuli (2003-02-04 17:28) [7]Вроде что-то жужжит, в базу пишет, осталось работы два локтя по карте, спасибо большое. Будем ковырять дальше. ОГРОМАДНОЕ спасибо!
← →
yuli (2003-02-05 10:21) [8]еще один глупый вопрос - а как из параметра процедуры считать данные в Image.Picture.Bitmap?
SaveToStream у TParam нету
← →
Digitman (2003-02-05 11:14) [9]var stream: TMemoryStream;
..
stream := TMemoryStream.Create;
try
stream.Size := IBStoredProc.Param[..].GetDataSize;
IBStoredProc.Param[..].GetData(stream.Memory);
..
Image.Picture.Bitmap.LoadFromStream(stream);
finally
stream.Free;
end;
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.02.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c