用数据流: var pjpg:tjpegimage; pic:TMemoryStream; begin pjpg:=tjpegimage.Create; pic:=TMemoryStream.Create; TBlobField(dataset.FieldByName('ss')).savetoStream(pic); pic.positon:=0; pjpeg.LoadFromStream(pic); image.graphi.bmp.assign(pjpeg); end;
数据写到数据库中去。 var MS: TMemoryStream; begin MS:=TMemoryStream.create; Image1.Picture.Bitmap.SaveToStream(MS); MS.Position:=0; Table1.Append; // 在数据库中添加一条记录 TBlobField(Table1.FieldbyName('image')).LoadFromStream(MS); Table1.Post; // 将所作的更新写入数据库 end;//读出数据库的图象数据。 var MS: TStream; begin with Table1 do MS:=CreateBlobStream(FieldbyName('image'),bmRead); Image1.Picture.Bitmap.LoadFromStream(MS); MS.Free; end;
你可以重新动态创建一个dbimage,然后将得到的picture复制给image控件。
var
pjpg:tjpegimage;
pic:TMemoryStream;
begin
pjpg:=tjpegimage.Create;
pic:=TMemoryStream.Create;
TBlobField(dataset.FieldByName('ss')).savetoStream(pic);
pic.positon:=0;
pjpeg.LoadFromStream(pic);
image.graphi.bmp.assign(pjpeg);
end;
var
MS: TMemoryStream;
begin
MS:=TMemoryStream.create;
Image1.Picture.Bitmap.SaveToStream(MS);
MS.Position:=0;
Table1.Append;
// 在数据库中添加一条记录
TBlobField(Table1.FieldbyName('image')).LoadFromStream(MS);
Table1.Post;
// 将所作的更新写入数据库
end;//读出数据库的图象数据。
var
MS: TStream;
begin
with Table1 do
MS:=CreateBlobStream(FieldbyName('image'),bmRead);
Image1.Picture.Bitmap.LoadFromStream(MS);
MS.Free;
end;