dbgrdieh表里有三个字段,如以下所示字段1;字段2;字段3adoquery里对就应这三个字段分别是adoquerya,adoqueryb,adoqueryc
delphi 里定认了三个变量a,b,c
在form的create里分别赋值a:=0,b:=0,c:=0;在adoquery的NewRecord分别为
 adoquerya.asinteger:=a;
 adoqueryb.asinteger:=b;
 adoqueryc.asinteger:=c;
然后在adoquerya的ONValidate里
 a:=adoquerya.asinteger+1;相必大家已经知道是什么功能了,我的问题是,当我第一条记录分别填好1,张三,男
回车后第二行变成2,张三,男在回车去新增第三行时,却不能新增,只能在DBGRIDEH中修改某一个值以后才能新增。这是为什么呢

解决方案 »

  1.   

    post了没??改一下 a:=adoquerya.asinteger+1; 变成 a:= inc(a); 看看.
      

  2.   

    提交下數據必要時,把+1那段show出來看看。。
      

  3.   


    没有POST,用的是ADOQUER用的是缓存模式,我知道INC,只是我不明白这样做为什么不行,ADO里的值是发生了变化,关键是DBGRIDEH中随意一个单元格必须编辑一下在用回车才会增加一行。不明白为什么。
      

  4.   

    查了很多资料我估计问题出在DBGRIDEH,但却不知道到哪怎么样解决。各位高手给小弟弟一点方向吧