Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сохранить картинку в поле BLOB БД Firebird?


Страницы:   1 2 3

Novicer ©   (2014-02-24 00:37:00) 

Доброго времени суток! Собственно сабж :) Нашел пример тут: http://programmersforum.ru/showthread.php?t=190609Как уверяли работающий, но у меня с ним возникли проблемы... Создал BLOB-поле PHOTO1 в БД длинной 16384(подтип текст,WIN1251) Через OpenPictureDialog добавил в Image1 фото,затем пробую сохранить в БД так как сделано в примере и получаю такую ошибку: http://s52.radikal.ru/i138/1402/93/f8e9724cdcf3.jpg
В чем засада непонятно... :(


Novicer   (2014-02-24 15:14:00) [21]

Нагуглил другую реализацию чтения фото из BLOB:
var
 blobstream : TBlobStream;
 jpeg       : TJPEGImage;
begin
       try
       blobstream := TBlobStream.Create(TBlobField(IBQuery1.FieldByName('PHOTO')), bmRead);
       jpeg  := TJPEGImage.Create;
       jpeg.LoadFromStream(blobstream);
       Image1.Picture.Bitmap.Assign(jpeg);
       finally
       jpeg.Free;
       blobstream.Free;
       end;
end;
Но ошибка та же... Непонятно почему оно поле PHOTO не видит?


Inovet   (2014-02-24 15:13:00) [22]

> [21] sniknik ©   (24.02.14 15:00)
> посмотри в ссылку на "уверяли работающий" пример из [0].

Да видел я её... Также другие давал ссылки, только не подействовали.


Novicer   (2014-02-24 15:10:00) [23]

В dbgrid тоже нет поля PHOTO, все остальные поля базы в перечне есть. Мне это тоже показалось странным... Думал BLOB грид не видит,вытяну его в DBImage, а там та же петрушка... :( Как правильно указать параметры при создании поля BLOB в таблице БД?


sniknik   (2014-02-24 15:10:00) [24]

> какая-то взрывоопасная смесь
еще какая. счастье что знаком с этим только по вопросам из форума. (вообще с BDE не работал... понадобилось вроде один раз да и то оказалось нужен клипер, причем в "чистом виде", BDE сразу "отпал")


clickmaker   (2014-02-24 15:07:00) [25]

> BDE + ADO с парадоксом

какая-то взрывоопасная смесь


sniknik   (2014-02-24 15:06:00) [26]

++
> Создал BLOB-поле PHOTO 1в БД длинной 16384(подтип текст,WIN1251
???


sniknik   (2014-02-24 15:05:00) [27]

+
вообще давно, в BDE + ADO с парадоксом был глюк с полем типа image (вроде)... но не думаю, что тут тот же случай.


sniknik   (2014-02-24 15:03:00) [28]

> Novicer   (24.02.14 14:56) [19]
в dbgrid вывести не пробовал? там поле есть?


sniknik   (2014-02-24 15:00:00) [29]

> почему ты это поле упроно пихаешь в сроки.
посмотри в ссылку на "уверяли работающий" пример из [0].


Novicer   (2014-02-24 14:59:00) [30]

Сделал по другому,без строк,но ошибка та же "нет поля":
var
 Ss  : TStringStream;
 St : TBytes;
begin
st := IBQuery1.FieldByName('PHOTO').AsBytes;
Ss := TStringStream.Create(st);
if Ss.Size > 0 then
   begin
   Image1.Picture.Bitmap.LoadFromStream(Ss);
   end;
Ss.Free;  
end;


Novicer   (2014-02-24 14:56:00) [31]

Запрос из таблицы MAINLIST:
with IBQuery1 do
begin
Close;
SQL.Text := 'SELECT * FROM MAINLIST';
if not Prepared then Prepare;
Open;
end;


Novicer   (2014-02-24 14:54:00) [32]

Я понимаю что ошибка неспроста. Почему оно не видит поле? В чем может быть причина? Как его указать/прочитать данные?


Inovet   (2014-02-24 14:53:00) [33]

Текст запроса показывай


sniknik   (2014-02-24 14:52:00) [34]

> Есть поле и данные в нем тоже. Пробовал через ShowMessage отобразить данные из других полей,все показывает
- канал спорт не показывает.
- есть такой канал, показывает. проверял смотрел другие, все классно видно.
...
ничего странного не замечаешь?


Inovet   (2014-02-24 14:48:00) [35]

> [11] Novicer   (24.02.14 14:41)

Ну, так и написано что нет такого поля. И ещё вопрос - почему ты это поле упроно пихаешь в сроки. Поток и тот строковый. БЛОБ тоже строковый. Где в файле с картнинкой текстовые строки?


sniknik   (2014-02-24 14:45:00) [36]

Novicer   (24.02.14 14:41) [11]
я и в первый раз поверил, но мне не надо, ты верь...


Novicer   (2014-02-24 14:45:00) [37]

Есть поле и данные в нем тоже. Пробовал через ShowMessage отобразить данные из других полей,все показывает. Может при запросе не читает их из BLOB? Только как вытянуть оттуда фото и показать непонятно... :(


sniknik   (2014-02-24 14:44:00) [38]

> TStringStream
> AsString
фото???


Novicer   (2014-02-24 14:41:00) [39]

http://i058.radikal.ru/1402/6b/4da568c4aa1f.jpg


sniknik   (2014-02-24 14:40:00) [40]

> В чем трабла непонятно... :(
верь ошибке
> При выполнении вылетает ошибка что нет поля PHOTO


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо