1.字段是数值型的吗
2.bitmap:=tbitmap.create;
try
  bitmap.loadfrom('...');
  dbimage1.picture.graphic.assign(bitmap);
finally
  bitmap.free;
end;

解决方案 »

  1.   

    1,看一看你的TQuery控件的RequestLive是否等于true.如果等于True的话,你需要将它改成false.
    2.你也可以使用TBlobStream的方法来存取Image字段,具体的你可以查一下帮助。
      

  2.   

    回wwwhym:
      BMP文件还是不能存入数据库呀,我用的是SQL SERVER7.0,窗体上有一个dbimage,一个按钮及openpicturedialog,在CKICK中写:
      var Bitmap:Tbitmap;
    begin
    if openpicturedialog1.execute then
       begin  
         bitmap:=Tbitmap.create;
         try
           bitmap.loadfromfile(openpicturedialog1.filename);
           dbimage1.picture.graphic.assign(bitmap);
           query1.ApplyUpdates;
         finally
           bitmap.free;
         end;
       end;
    end;还是不行!!!
    另外如果我要存储的BMP文件很大,如800X600分辨率,应如何做?SQL SERVER7.0能存储其它格式的图片如JPG吗?
     
      

  3.   

    //如果小图片保存的问题已经解决
    //要保存大图片就请重新设置BDE吧
    //如果用ADO我就不说了
      

  4.   

    还有一点要说明的是由一个参数设置会决定可以存储的数据大小,就是BlobSize你可以在TDatabase对象中修改它。
      

  5.   

    谢谢Wingsun,第一个问题已经解决了,第二个问题还是不行。
      

  6.   

    我写了一个控件可以完成你要的功能,TDBJPEGImage,要的话说一声.
      

  7.   

    你的第二个问题可以用数据流解决,如果有兴趣,我可以将解决问题的源代码发给你!
    很小!
    也可以支持GIF格式图片!
      

  8.   

    谢谢,我的mail:[email protected],若有用,我会加分的。
      

  9.   

    (Query1.FieldByName('Pic') AS TBlobField).LoadFromFile('FileName');
    绝对可以,不行提头来见!
      

  10.   

    to zork:呵呵,把你的头寄过来吧。依君所示:我敲入:datamodule.QryZz.FieldByName('CERTIFICATE_IMAGE') as Tblobfield).LoadFromFile('d:\ke.bmp');提示:  [Error]undeclared identifier:'Tblobfield'