将这句
stream1 :=  TBlobStream.Create(DM.Query1.FieldByName('gzs_rr')as TBlobField,bmRead);
改为
stream1 :=  TADOBlobStream.Create(DM.Query1.FieldByName('gzs_rr')as TBlobField,bmRead);

解决方案 »

  1.   

    chechy(chechy)说得没错,将Query1换成ADOQuery1后要将TBlobStream.Create换成TADOBlobStream.Create,道理其实很很简单,不用说你也会明了.
      

  2.   


    stream1 := TADOBlobStream.Create(DM.Query1.FieldByName('gzs_rr')as TBlobField,bmRead);我也是这么做的。
      

  3.   

    谢谢各位,我已经解决了。不过我发现TBlobStream和TADOBlobStream有一个区别:
    我在Oracle8定义了一个字段为varchar2类型,用TBlobStream能访问,但用TADOBlobStream
    不能访问,只能改为LONG型了。