我在adoquery控件中添加了两个只用来显示的字段datafield1, datafield2,
sql语句这样写的:
select field1, field2, 0 as datafield1, 0 as datafield2 from table1;
并设置datafield1, datafield2 的readonly 属性为 false,
在程序中往adoquery1控件中添值,开始其为空,
adoquery1.append;
adoquery1.fieldbyname('datafield1').asinteger := 10;
adoquery1.fieldbyname('datafield2').asinteger := 20;
然后执行 adoquery1.post; 之后,两个添加的字段的值就变成0了,
即使我不post,执行adoquery1.first; adoquery1.next;之后结果仍然一样。
我不愿意做成批量更新,不知道大家遇到这种情况没有?
该如何避免哪?

解决方案 »

  1.   

    我在adoquery控件中添加了两个只用来显示的字段datafield1, datafield2?
    不知你什么意思?
      

  2.   

    执行了first,或next后把
    adoquery1.fieldbyname('datafield1').asinteger := 10;
    adoquery1.fieldbyname('datafield2').asinteger := 20;
    再执行一遍,因为不用缓存的话first或是next后也会自动post的
      

  3.   

    我需要不断的first, next,有没有别的办法哪?
    每次都来回赋值太麻烦了。
      

  4.   

    数据库没有相应字段,
    adoquery1.fieldbyname('datafield1').asinteger := 10;
    adoquery1.fieldbyname('datafield2').asinteger := 20;
    只能临时的吧
      

  5.   

    select field1, field2, 0 as datafield1, 0 as datafield2 from table1, 这样datafield1,datafield2的值已固定死了。
    用ADOQUERY增加新字段的方法来加入一个新的DATA类字段。(动态静态都可加)
      

  6.   

    并设置datafield1, datafield2 的readonly 属性为 false,?????????????????????????????只不是设置为readonly,,,而且哪里固定的值  0。
      

  7.   

    你在每次之后用一个refresh函数就行了
      

  8.   

    数据库里没有存进的话,前面的DataSet的设置批更新处理,否则前面一动,数据感知控件自然看不到值