ADOTable1.Open;
   fs:=Tfilestream.Create(str,fmopenread);
   ADOTable1.Append  ;
   fs.Position := 0;
   Tblobfield(ADOTable1.FieldByName('图象')).LoadFromStream(fs) ;
   ADOTable1.post;
 以上代码没问题,但换成BDE的table 就出错,提示'Non-blob column in table required to perform operation',各位老大该如何解决这个问题啊?先谢谢啦!

解决方案 »

  1.   

    那你用ADOQuery不是很好!
    用ADOQuery试试!
      

  2.   

    ADOQuery也没问题,但公司都用BDE的,没办法
      

  3.   

    在database的params属性中把bde的blob size 和blobs catch size值設大一點試試
      

  4.   

    TTables and Live TQueries may not allow access to Oracle 8 CLOB or BLOB fields when the user has a role of DBA, EXP_FULL_DATABASE, IMP_FULL_DATABASE or SELECT_CATALOG_ROLE especially if the table was created by a user without one of these roles. Users with these roles return LOB indexes in the list of index definitions because the BDE queries a different set of system views compared to users without these roles. These LOB indexes do not have corresponding column definitions. The error will occur when the primary key has a name that causes it to be sorted after the LOB indexes in the result set. The error does not occur for users with roles other than DBA, EXP_FULL_DATABASE, IMP_FULL_DATABASE or SELECT_CATALOG_ROLE. To determine what roles a the current user has query SYS.USER_ROLE_PRIVS. To determine what roles all users have been granted query SYS.DBA_ROLE_PRIVS when logged in as a user with a GRANTED role of DBA, EXP_FULL_DATABASE, IMP_FULL_DATABASE or SELECT_CATALOG_ROLE.