Форум: "Базы";
Текущий архив: 2002.06.06;
Скачать: [xml.tar.bz2];
ВнизМастера... помогите..... как поместить картинку в базу данных Найти похожие ветки
← →
lexx@demon (2002-05-15 19:45) [0]Я использую PARADOX... Я уже не знаю,.. что делать тот код что у меня есть не работает...
← →
Desdechado (2002-05-15 19:59) [1]
Query1.Sql.Text :=
"INSERT INTO testblob " +
" ( " +
" fBlob" +
" )" +
" VALUES" +
" (" +
" :ParamBlobField" +
")";
Query1.ParamByName("ParamBlobField").DataType := ftBlob;
Query1.ParamByName("ParamBlobField").ParamType := ptInput;
Query1.ParamByName("ParamBlobField").LoadFromFile("MyFile",ftBlob);
Query1.ExecSql;
← →
esVer (2002-05-16 11:55) [2]Для Айвенго:
Запись это здорово... Только пишется в hex...
А прочитать?
← →
Lusha (2002-05-16 12:12) [3]>esVer (16.05.02 11:55)
Смотрите методы TBlobField и познакомьтесь с TBlobStream...
← →
esVer (2002-05-16 12:31) [4]Для Lusha: Однако, ознакомился, но то с чем знакомился не очень помогло. Записал Bitmap в таблицу Oracle и пытаюсь прочитать его:
var
bs : TBlobStream;
begin
bs:=TBlobStream.Create(
TBlobField(Query1.FieldByName("PICT")),bmRead);
bs.Position:=0;
if bs.Size>0 then
image1.Picture.Bitmap.LoadFromStream(bs);
bs.Free;
end;
получаю "Bitmap image is not valid"
если пишу
image1.Picture.Graphic.LoadFromStream(bs)
то получаю "Access violation ..."
← →
Lusha (2002-05-16 12:52) [5]>esVer (16.05.02 12:31)
Приведенный Вами код рабочий... Так что читаете Вы правильно...
Насколько велик размер картинки занесенный Вами в BLOB поле?
← →
esVer (2002-05-16 13:07) [6]Для Lusha:
852 байта, размер содержимого в базе в два раза больше, при сохранении содержимого в файл явно наблюдаются шестнадцатеричные
цифры. Как из этого содержимого добыть bitmap - не знаю...
← →
Lusha (2002-05-16 13:10) [7]>esVer (16.05.02 13:07)
Смею предположить, что Вы неправильно ее (картинку) пишете в БД... Третьего, похоже, не дано...
← →
Reindeer Moss Eater (2002-05-16 13:16) [8]Если пишешь через stream, то что у тебя раньше делается, освобождение потока или Post?
← →
esVer (2002-05-16 13:31) [9]Для Lusha:
вероятно, но из всех перепробованных способов записи,
сработал только тот, что привел здесь Айвенго.
Для Reindeer Moss Eater:
я писал не через stream, а так как написано в первом ответе
на исходный вопрос. (см. начало страницы)
← →
Reindeer Moss Eater (2002-05-16 13:35) [10]Может тогда твоя картинка это не *.BMP ?
← →
Lusha (2002-05-16 13:39) [11]Запишите картинку посредством TDBImage... Если она после этого считается, то будем смотреть, что не так с занесением оной посредством запроса... ОК?
← →
esVer (2002-05-16 14:11) [12]Приношу всем извинения. Я тормоз, блин.
Поле было типа LONG, а должно быть LONG RAW.
В первый раз работаю с графикой и в тестовой
табличке сделал ошибку при создании.
Bitmap теперь пишется и читается нормально.
Всё остальное (wmf, jpg и т.д.) - нет.
Та же самая ругань.
В файл сохраняется всё нормально, но как определить, что находится в поле? TDBImage на записанный wmf говорит
"Bitmap image is not valid"
...
← →
Lusha (2002-05-16 14:56) [13]>esVer (16.05.02 14:11)
Решение влоб - хранить тип записанного изображения в таблице...
← →
esVer (2002-05-16 15:27) [14]Или конвертировать всё в Jpeg (или иное).
Спасибо.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.06.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c