我用SQLSERVER2000+delphi7开发了一个小程序,想用来显示图片,如何写代码? ( 积分: 100 )

  • 主题发起人 主题发起人 libaoliang
  • 开始时间 开始时间
L

libaoliang

Unregistered / Unconfirmed
GUEST, unregistred user!
我用SQLSERVER2000+delphi7开发了一个小程序,用来显示别的管理系统提供的数据库数据,
这个数据库是sqlserver2000,存放图片的字段类型是image,
我只是想查看和使用一下即可,

我还不是很熟悉图片的使用和管理问题,

我看到存放图片的字段类型是image
直接打开数据库时其图片字段显示的是<binary>
使用adoquery1(select * from ...) 后在数据表格里显示的又是 <bloa..>
不太明白,也不想再去详细的查询,所以不如花点分,请人简单的回答一下了,

我想实现的目标是通过adoquery检索出数据后,用dbimage或其他自带的控件直接显示出
选择的记录所对应的图片,点中哪个记录,对应的图片就显示出来!
请给出代码!
 
你可以选择不用把图片直接存储到数据库的方法,在数据库中只存放图片的路径,然后调用这个路径来读取图片
 
同一楼上的,存储文件路径比较方便
 
dennyshao001:
我打开的是别的数据库,字段里已经存了很多图片!所以你说的办法不行!
 
这个应该不难吧,delphi自带了一个例子,你可以参考一下
C:/Program Files/Borland/Delphi7/Demos/Db/FishFact
另外,数据库直接存储图片可能难度大点,但是如果只用于显示,dbimage就非常好用了
 
搜索一下 以前的贴子 有好多 好多……
[:)]
 
这是access数据库显示图片的方法 希望对你有用 我没用sql存过图片
procedure TFrmConfig.ShowPic(tb: TDataSet; FieldName: string;img: TImage);
var
tempstream:TStringStream;
tempjpeg:TJPEGImage;
begin
with tb do
begin
if FieldByName(FieldName).IsNull then
begin
img.Picture.Graphic := nil;
exit;
end;
try
tempstream:=TStringStream.Create(' ');
TBlobField(FieldByName(FieldName)).SaveToStream(tempstream);

tempstream.Position:=0;
tempjpeg:=TJPEGImage.Create;
tempjpeg.LoadFromStream(tempstream);
img.Picture.Bitmap.Assign(tempjpeg); ;
finally
tempstream.Free;
tempjpeg.Free;
end;
end;
end;
 
楼上的就行了,我写过的,可以用,不过,对不同的图片的格式,要注意做不同的处理
 

Similar threads

后退
顶部