Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.06;
Скачать: CL | DM;

Вниз

Мастера... помогите..... как поместить картинку в базу данных   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
3-17825
ATLANTIDO
2002-05-16 17:05
2002.06.06
uncle_m16


14-18131
Dimka Maslov
2002-04-29 17:03
2002.06.06
:-)


3-17779
roman001
2002-05-06 20:57
2002.06.06
коды ошибок


1-18054
DJ X
2002-05-25 09:14
2002.06.06
SplashScreen


1-17962
Telepuzik
2002-05-28 12:56
2002.06.06
Конвертирование типов данных