![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сохранить картинку в поле BLOB БД Firebird?
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