请问如何将数据库内的图片显示出来?同时显示一个表内每个记录的图片。

解决方案 »

  1.   

    现在很多数据grid都是可以显示图片项的,比如eh,dx都可以
      

  2.   

    procedure TFrm_BrigeInfo.ShowPicture;
    var
      TStream:TMemoryStream;
      JpgFile:TjpegImage;
      Query_Picture:TADOQuery;
      begin
        TStream:=TMemoryStream.Create;
         JpgFile:=TjpegImage.Create;
         Query_Picture:=TADOQuery.Create(self);
         Query_Picture.Connection:=Config.ADOCon;//Config.ADOCon是Config单元中定义的ADO对象
         Query_Picture.SQL.Clear;
         Query_Picture.Close;
         Query_Picture.SQL.Add(‘select 桥梁照片 from 桥涵设施普查基层表 where 桥梁名称=:a');
         Query_Picture.Parameters.ParamByName('a').Value:=trim(Edt_name.Text);
         Query_Picture.Active:=true;
         Query_Picture.Open;
         if Query_Picture.FieldByName('桥梁照片').IsNull then
         begin
          Messagebox(Handle,'未存入图片!','信息',MB_ICONEXCLAMATION);
         end else
         begin
          TBlobField(Query_Picture.FieldByName('桥梁照片')).SaveToStream(TStream);
          TStream.Position:=0;
          JpgFile.LoadFromStream(TStream);
          Image_Brige.Picture.Assign(JpgFile);
          TStream.Free;
          JpgFile.Free;
         end;
      end;
    前段时间刚写的,用流文件的方式显示,窗口中使用的Image_Brige是一个TImage对象,库文件中要加上jpeg,
      

  3.   

    Edt_name是TEdit组件,用来显示桥梁名称字段
      

  4.   

        使用DBImage控件显示图象。如果每行都显示图象,可以使用DBCtrlGrid控件。DBCtrlGrid控件每一栅格上都是一个Panel控件,可以在上面添加DBImage控件,达到每行中都显示图象的效果。
        在Delphi Demo中,有实例,自己找参阅即可。 
      

  5.   

    用cxgrid能做到,设置字段类型为image,然后直接用SQL语句查询后关联就行了
      

  6.   

    使用cxgrid,設置字段為image,然後使用TBlobField方法,利用sql語句就可以實現.