添加时用这个方法
AdoQuery5.FieldByName('EmpImage').Assign(image1.picture),是用这个方法做的。修改时用这个方法不成功。
AdoQuery5.FieldByName('EmpImage').Assign(image1.picture);清除时用这个方法不成功.
AdoQuery5.FieldByName('EmpImage').clear;请问大哥,该如何实现呀。

解决方案 »

  1.   

    不管添加或修改使用:Assign(image1.Picture.Graphic)
      

  2.   

    使用一个空的流,然后再次AdoQuery5.FieldByName('EmpImage').Assign(aa);
      

  3.   

    不管添加或修改使用:Assign(image1.Picture.Graphic)
    这种方法也不好用。
      

  4.   

    var
      jpegimage:tjpegimage;
    begin
       jpegimage := tjpegimage.Create ;  //通过jpegimage将图像显示在image1,否则会出错
       try
          jpegimage.Assign(yp_xsmd.FieldByName('photo'));
          Image1.Picture.Graphic:=jpegimage;
       finally
          jpegimage.Free ;
       end;
    end;
      

  5.   

    用这样:
    添加图像到photo字段:
    var
     
      strm: tmemorystream;     DBImage1.picture.LoadFromFile(OpenPictureDialog3.FileName)
          if DBImage1.picture.Graphic <> nil then {//避免dbimage1中无图像保存出错}
            begin                           
              strm := tmemorystream.Create;
              try                          
                DBImage3.picture.Graphic.SaveToStream(strm);
                ADOTable2.Edit;
                strm.Position := 0;
                TBlobField(ADOTable2.fieldbyname('photo')).LoadFromStream(strm);
                ADOTable2.post;
              finally
                strm.Free;
              end;                          
            end;    
    修改也一样的。删除用这个阿:
        
    ADOTable2.fieldbyname('photo').Clear;
    这是我的代码,执行得好好的
      

  6.   

    FIELDBYNAME('PHOTO').ASSTRING := NIL ;
      

  7.   

    在窗体上放一个image控件,用来存放数据库中的图片或者你将要存到库中的图片
    写一个清除按钮的单击事件.
    ima_zp.Picture.Bitmap:=nil;
    保存就用一般的保存方法就行.