![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
JPG в базу данных [D5, Paradox]
Zak © (2002-03-26 08:52:00)ВотЪ. какие макаром поместить в базу рисунок формата jpg.
Может какойнидь компонент есть для этого...
или может надо просто в поле записать содержимое jpg, а потом при выводе (вывод например делается через WEBnavigator) создать jpg переписать содержимое из базы... Только это всё теория... как на практике это сделать я сам не знаю, Подскажите :)
П.С. Может в Дельфи6 есть такая возможность?!
Zak (2002-04-01 09:05:00) [1]А разве в Базу в поле График можно вписать jpgшный файл?
ALFA (2002-03-26 17:26:00) [2]Должно быть поле (OLE)
............
Table1grafshetgej: TGraphicField;
..................
записать
Table1grafshetgej.LoadFrоmFile("Твой файл.JPG");
Table1.Post;
изъять
Table1grafshetgej.SaveToFile("Твой файл.JPG");
Lfx (2002-03-26 16:32:00) [3]Есть такой класс: TBLOBStream называется. И не надо никаких потенциально (да и реально) глюкавых TMemoryStream использовать. Смотри хелп - пропишешь ему при создании с каким полем работать и дело с концом. НО!!! Его надо создавать перед каждым обращением к данным. Т.е. курсор установил, создал TBLOBStream, выкачал данные, щлепнул TBLOBStream. И т.д.
Zak (2002-03-26 10:43:00) [4]Так я то вставил, но почемуто при выводе файл получается нулевой длины... портак:
J:=TJpegImage.Create;
S:=TMemoryStream.Create;
TBLOBField(Query1.FieldByName("Im")).SaveToStream(S);
шf s.Size>0 then begin
J.LoadfromStream(S);
J.SaveToFile("d:\progi\kc\portret.jpg");
Memo1.Lines.Add("<img src="+""""+"d:\progi\kc\portret.jpg"+""""+">");
end;
J.Free;
S.Free;
хде тут ошибка?
Johnmen (2002-03-26 09:51:00) [5]>xxc : а зачем Query.Prepare; ?
xxc (2002-03-26 09:31:00) [6]сорри за опечатку - вместо
"Query.LoadFromStream(S);" надо "Query.ParamByName("PIC").LoadFromStream(S);"
xxc (2002-03-26 09:25:00) [7]Я это делал так:
procedure InsertJpegToDatabase;
var
J:TJpeg;
S:TMemoryStream;
begin
J:=TJpeg.Create;
J.LoadFromFile(JPEGFileName);
S:=TMemoryStream.Create;
J.SaveToStream(S);
S.Position:=0;
Query.SQL.Text:="insert into PICTURES (ID,PIC) values (:ID,:PIC)"; Query.Prepare;
Query.ParamByName("ID").AsInteger:=ID;
Query.LoadFromStream(S);
Query.ExecQuery;
S.Free;
J.Free;
end;
vopros (2002-03-26 09:04:00) [8]Я использовал компненту ImageEn. Вообще-то их куча существует. Попробуй ее, правда не помню откуда скачивал, но думаю найти несложно.