begin
  Table1.Edit;
  Table1OLEDATA.Assign(nil); //先试
  //Table1OLEDATA.Value := Null; //后试
  Table1.Post;
end;

解决方案 »

  1.   

    TBlobField(table1.FieldByName('OLEDATA')).asstring:='';即可
      

  2.   

    to zswang(伴水)(伤心中):
    其实在提问之前我试过Table1OLEDATA.Assign(nil),没有成功(用的库是oracle8),
    但刚才用access试了一下却成功了!!不知道是何原因????另:Table1OLEDATA.Value := Null; 用此法会报错,说是invalid variant type conversion但用TBlobField(table1.FieldByName('OLEDATA')).asstring:=''测试也通过了!??
    如果存的是图片或者其它非文字数据难道也可以转换为字符类型????以上都是在access2000中测试的,不知在oracle会怎样,下午再请教大家!!!!
      

  3.   

    是不是oracle这个字段不能为空字符?
      

  4.   

    ...FieldByName('zd').Clear;
    我常这么用,没出错.清图像数据没问题
      

  5.   

    下午我又分别用access2000和oracle8试了上面的清空代码,三种方法
    (xx.cleae,xx.assign(nil),xx.asstring:=null)在access加都可以
    成功!!但用oracle8时却没有一种方法行的通!!!??oracle8中这个字段默认是可以为空
    的,请问这是为何??????????
    有条件的朋友,能帮我测测吗?
      

  6.   

    试过了,对oracle8不管用的
    我不得不怀疑我这边的d版oracle了!!!!!
      

  7.   

    看来以上方法还是没错的,唯一的解释就是我这边的oracle8有问题了,
    谢谢几位的回答