procedure
TForm1
.
GetPicture(pos:
string
;TempQuery: TADOQuery);
var
MS_JpegStream:TMemoryStream;
begin
try
MS_JpegStream:=TMemoryStream
.
Create;
with
tempQuery
do
begin
close;
sql
.
clear;
sql
.
Add(
'select tp from tp'
);
Open;
end
;
if
tempquery
.
FieldByName(
'tp'
).isnull
then
begin
image1
.
Picture
.
Graphic:=
nil
;
end
else
begin
(tempQuery
.
FieldByName(
'tp'
)
as
tblobfield).savetostream(MS_JpegStream);
image1
.
Picture
.
Graphic:=
nil
;
image1
.
Picture
.
Graphic:=TJpegImage
.
Create;
MS_JpegStream
.
Position:=
0
;
image1
.
Picture
.
Graphic
.
LoadFromStream(MS_JpegStream);
end
;
finally
MS_JpegStream
.
Free;
end
;
end
;
procedure
TForm1
.
SetPicture(id:
string
;TempQuery:TADOQuery);
var
MS_JpegStream:TMemoryStream;
M_BitMap:TBitMap;
M_Jpeg:TJpegImage;
begin
OpenDialog1
.
Execute;
try
MS_JpegStream:=TMemoryStream
.
Create;
M_BitMap:=TBitMap
.
Create;
M_Jpeg:=TJpegImage
.
Create;
if
ExtractFileExt(OpenDialog1
.
FileName)=
'.bmp'
then
begin
M_BitMap
.
LoadFromFile(OpenDialog1
.
FileName);
M_Jpeg
.
Compress;
M_Jpeg
.
Assign(M_BitMap);
end
else
if
extractfileext(OpenDialog1
.
FileName)=
'.jpg'
then
begin
M_Jpeg
.
LoadFromFile(OpenDialog1
.
FileName);
end
;
M_Jpeg
.
SaveToStream(MS_JpegStream);
with
tempQuery
do
begin
close;
sql
.
clear;
sql
.
Add(
'insert into tp (id,tp) values ('
'1'
',:image)'
);
Parameters
.
ParamByName(
'image'
).LoadFromStream(MS_JpegStream,ftblob);
ExecSQL;
end
;
finally
MS_JpegStream
.
Free;
M_BitMap
.
Free;
M_Jpeg
.
Free;
end
;
end
;