with adoQrTmp do begin Close; SQL.Clear; SQL.Add('select aa,bb from cc where id=11); adoQrTmp.Open; end; SaveDialog.FileName := adoQrTmp.FieldByName('bb').AsString; if SaveDialog.Execute then begin TBlobField(adoQrTmp.FieldByName('aa')).SaveToFile(SaveDialog.FileName); end;
1. btnSave的Click事件,这里演示了TMemoryStream的另一种用法,将Stream中的数据写到数据库中去。 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; 4. DBNavigator1的Click事件,这里演示了TBlobStream的用法,使用了和写入时不同的方法来读出数据库的图象数据。 var MS: TStream; begin with Table1 do MS:=CreateBlobStream (FieldbyName('image'),bmRead); Image1.Picture.Bitmap. LoadFromStream(MS); MS.Free; end; 现
begin
Close;
SQL.Clear;
SQL.Add('select aa,bb from cc where id=11);
adoQrTmp.Open;
end;
SaveDialog.FileName := adoQrTmp.FieldByName('bb').AsString; if SaveDialog.Execute then
begin
TBlobField(adoQrTmp.FieldByName('aa')).SaveToFile(SaveDialog.FileName);
end;
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; 4. DBNavigator1的Click事件,这里演示了TBlobStream的用法,使用了和写入时不同的方法来读出数据库的图象数据。 var
MS: TStream;
begin
with Table1 do
MS:=CreateBlobStream
(FieldbyName('image'),bmRead);
Image1.Picture.Bitmap.
LoadFromStream(MS);
MS.Free;
end; 现
但是只能保存和读取BMP格的图像哦
如果使用
MS:=TMemoryStream.Create;
MS.LoadFromFile('D:\土地交易信息管理系统\327443A.jpg');
MS.Position :=0;
Table1.Edit;
TBlobField(Table1.FieldByName('Image')).LoadFromStream(MS);
Table1.Post ;
就可以保存哦,
Image1.Picture.Graphics.SaveToStream(MS);
则可以保存jpg,bmp文件哦,但是读取还是只能是bmp文件哦。
原因在于Image1.Picture.Bitmap. LoadFromStream(MS); 是bmp格式的哦
但是使用Image1.Graphics.LoadFromStream(MS),则出错,请高手给予指点
我另外给分!!!
var
pjpg:tjpegimage;
pic:TMemoryStream;
begin
pjpg:=tjpegimage.Create;
pjpg.LoadFromFile(F:\JPG.jpg);
pic:=TMemoryStream.Create;
pjpg.SaveToStream(pic);
pic.Position:=0;
TBlobField(dataset.FieldByName('Img')).LoadFromStream(pic);
dataset.post;
pic.Free;
pjpg.free;
end;
从数据库取出
var
pjpg:tjpegimage;
pic:TMemoryStream;
begin
pjpg:=tjpegimage.Create;
pic:=TMemoryStream.Create;
TBlobField(dataset.FieldByName('Img')).savetoStream(pic);
pic.positon:=0;
pjpeg.LoadFromStream(pic);
image.graphi.bmp.assign(pjpeg);
end;end;