ADODataSet1.Close;
  ADODataSet1.CommandText:='select CS_Seq,'' '' as vOperator from table;
  ADODataSet1.CursorLocation:=clUseClient;
  ADODataSet1.Open;
  ADODataSet1.Edit;
  ADODataSet1.FieldByName('vOperator').AsString:='aaaa'; //Error Field cannot be modified报如上错误.我已经把lock type 设置为 ltBatchOptimistic 仍然报错,,,请各位大哥指教

解决方案 »

  1.   

    使用ADO控件adoQuery1连接数据库,用下面的语句取得数据:
    select LEN, WIDTH, AREA = LEN * WIDTH from PRODUCT
    其中AREA字段是数据库中实际不存在的,是用LEN字段和WIDTH字段相乘得来的,我想在程序是对该字段值进行修改。
    adoQuery1.Edit;
    adoQuery1.FieldByName('AREA').AsFloat := 12;
    adoQuery1.Post;
    提示:field 'AREA' cannot be modified
    经分析,用ADO控件取得的虚拟字段都是不能修改的。是否有办法解决,请各位帮忙。谢谢!