Форум: "Базы";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];
ВнизMSSQL - как сохранить картинку в таблицу?? Найти похожие ветки
← →
ViJen (2005-01-27 15:28) [0]День добрый мастера!
У меня есть табличка на MSSQL с полем Image и ADOQuery в Delphi.
Каким образом с помощью квери сохранить картинку из TImage на форме или из файла в табличку и как потом из этого поля показать ее обратно в TImage?
Пробовала через параметры квери - вроде что-то сохраняет, но при попытке достать обратно ругается на неверный формат.
Объясните плиз как обычно такие операции делаются?
← →
Stanislav © (2005-01-27 15:44) [1]Вот так читать. А на оборот записать.
В принципе не разберешься скину и как записать
function ShowJPG (Field:TBlobField;var Image:TImage):Integer;
var S:TMemoryStream;J:TJPEGImage;
begin
Result:=0;
if not Field.DataSet.Active or Field.IsNull
then
begin
Image.Canvas.Brush.Color:=clBtnFace;
Image.Canvas.FloodFill(0,0,clWhite,fsSurface);
patBlt (Image.Canvas.Handle ,0,0,Image.Picture.Width,Image.Picture.Height,PATCOPY);
end
else
begin
S:=TmemoryStream.Create;
J:=TJpegImage.Create;
S.Position:=0;
Field.SaveToStream(S);
S.Position:=0;
J.LoadFromStream(S);
Image.Picture.Bitmap.Assign(J);
Result:=S.Size;
J.Free;
S.Free;
end;
← →
Ega23 © (2005-01-27 15:54) [2]
procedure DownloadImage(PersID:string);
var
fn,fnBlank,ss:string;
Fld:TBlobField;
begin
fn:=ExtractFilePath(ParamStr(0))+"FaceImg.jpg";
fnBlank:=ExtractFilePath(ParamStr(0))+"Blank.jpg";
ss:="select PersFaceImg,FaceDat from persadd where persid="+PersID;
quOpen(DMpas.RQTemp,ss);
Fld:=TBlobField(DMpas.RQTemp.FieldByName("PersFaceImg"));
if not fld.IsNull then
begin
fld.SaveToFile(fn);
Image1.Picture.LoadFromFile(fn);
end
else
begin
Image1.Picture.LoadFromFile(fnBlank);
end;
DMpas.RQTemp.Close;
end;
← →
Ega23 © (2005-01-27 15:58) [3]Загрузка в базу:
DMpas.RQImage.ParamByName("Img").LoadFromFile(ExtractFilePath(ParamStr(0))
+"FaceImg.jpg",ftBlob);
DMpas.RQReadImg.Open;
Текст запроса DMpas.RQReadImg:
update PersAdd set PersFaceImg=:Img
where PersID=....
← →
ViJen (2005-01-27 15:59) [4]Ага спасибки!! Работает.
Тока если bmp записываешь, то не читает. А как бы и то и другое читать?
← →
Ega23 © (2005-01-27 16:05) [5]Тока если bmp записываешь, то не читает. А как бы и то и другое читать?
Ну, в моём примере хоть PNG записывай. Только PNG TImage просто так не поймёт :о)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c