显示数据库中图片的问题?(50分)

  • 主题发起人 主题发起人 狒狒
  • 开始时间 开始时间

狒狒

Unregistered / Unconfirmed
GUEST, unregistred user!
使用ADO连接SQL中Northwind库的Employees表。
procedure TForm1.ADOQuery1AfterScroll(DataSet: TDataSet);
var
MS:TMemoryStream;
begin
try
MS:= TMemoryStream.Create;
self.ADOQuery1Photo.SaveToStream(MS);
self.Image1.Picture.Bitmap.LoadFromStream(MS);
finally
MS.Free;
end;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var
MS:TMemoryStream;
begin
try
self.Image1.Picture.Bitmap.SaveToStream(MS);
self.ADOQuery1Photo.LoadFromStream(MS);
finally
MS.Free;
end;
end;
不显示图象,也不能添加。
 
procedure TForm1.ADOQuery1AfterScroll(DataSet: TDataSet);
var
MS:TMemoryStream;
begin
try
MS:= TMemoryStream.Create;
tblobfield(ADOQuery1Photo.fieldbyname('pic')).SaveToStream(MS);
ms.position:=0;
self.Image1.Picture.Bitmap.LoadFromStream(MS);
finally
MS.Free;
end;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var
MS:TMemoryStream;
begin
try
ms:=tmemorystream.create;
self.Image1.Picture.Bitmap.SaveToStream(MS);
ms.position:=0;
tblobfield(ADOQuery1Photo.fieldbyname('pic')).LoadFromStream(MS);
adoquery1photo.post;
finally
MS.Free;
end;
end;
试试吧。
 
还是不可以,fieldbyname('pic')中的pic是否为Photo
 
是的,我这里装不上SQL Server了,所以不知道叫什么名字,也没有测试。
但是我在Access上成功的用过的。
 
出了这样的提示:“Bitmap image is not valid”
麻烦你写个例子发到我信箱里:feifei0281@yahoo.com.cn 谢谢!!
 
可能与你的文件格式有关系,如果是JPEG格式的图像是需要处理的。
另外图像太大好像也会有问题。
如果不急的话可以写一个简单的例子。
 
self.Image1.Picture.Bitmap.LoadFromStream使用之后,要对其进行REPAINT OR REFRESH
 
现装的ACCESS,所以慢了点。但终于做完了。程序已发出,请查收。
 
是jpeg格式的吧,肯定load不了了,添加个单元再试试(jpeg)
 
接受答案了.
 
后退
顶部