![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
stream read error
_none_ © (2004-10-04 14:12:00)записываю bitmap в blob-поле
_BlobQuery.SQL.Add(
'INSERT INTO binary_prop (id_prop, binary_value) VALUES (:id_prop, :binary_value)');
_BlobQuery.Parameters.ParamByName('id_prop').Value := Integer(5);
_BlobQuery.Parameters.ParamByName('binary_value').LoadFromStream(
_MS, ftGraphic);
где _MS - стрим, содержащий bitmap
потом считываю оттуда:
_BlobQuery.SQL.Add('SELECT * FROM binary_prop WHERE id_prop = 5');
_BlobQuery.Active := True;
_BS := _BlobQuery.CreateBlobStream(_BlobQuery.FieldByName('binary_value'), bmRead);
_BS.Position := 0;
Image1.Picture.Bitmap.LoadFromStream(_BS); <<вот здесь ошибка!
кто подскажет как бороться?
_none_ (2004-10-05 10:43:00) [1]да тормоз я
тип поля не тот был
Johnmen (2004-10-05 09:20:00) [2]Попробуй записать считанный в поток битмап в файл. Файл проанализируй.
_none_ (2004-10-04 18:49:00) [3]бред какой-то
в инете куча примеров, у всех все работает. у меня реально записано 832 байта, а читается 2!
неужели никто не сталкивался?
_none_ (2004-10-04 17:11:00) [4]1.access
2.да, записалось все, а прочитать больше 2-х не выходит
Johnmen (2004-10-04 16:19:00) [5]1. Что за БД ?
2. А ты уверен, что записал более 2 байт ? :)
_none_ (2004-10-04 15:56:00) [6]все существует
проблема в том, что строчка
_BS := _BlobQuery.CreateBlobStream(_BlobQuery.FieldByName('binary_value'), bmRead);
возвращает стрим неправильной длины (только первые 2 байта)
Sandman25 (2004-10-04 14:33:00) [7]По-моему, в момент обращения к Image1.Picture.Bitmap, его (Bitmap) еще не существует.