oracle 下做开发
select a, b, 0 as c
from table其中C不是表中的字段ADOQuery_ORACLE_3.Edit;
ADOQuery_ORACLE_3.FieldByName('c').Value:=1;为什么就显示
field 'c' cannot be modifiedADOQuery_ORACLE_3.locktype  已经设成了ITBATCHOPTIMISTIC。急!谢谢!

解决方案 »

  1.   

    select a, b, 0 as c 我想这样结果C应该是readonly吧, 你可以再adoquery中new个字段,赋值啊,那样开缓存 可以设置的 啊、
      

  2.   


    C就是NEW出来的字段啊,你能不能说给个例子啊。
      

  3.   

    C是你通过SQL 也就是数据库机制NEW出来的传到  Tfield对象时它的readonly属性是true 你就不可以修改。var
      Field:Tfield;  你可以通过
      field:=Tfield.create(self);
      field.fieldkind:=fkdata;
      field.fieldsname:='c'
      ///////为field设置属性
      adoquery.fields.add(Tfield)  然后在adoquery的oncalcfields事件里对你建立的字段赋值