MIDAS
客户端增加修改记录,总是一次成功,一次不成功
更新按纽的代码:
if dm.DM2.ClientDataSet3.ChangeCount=0 then
exit
 else
dm.DM2.ClientDataSet3.Post;
 dm.DM2.ClientDataSet3.ApplyUpdates(0);第一次更新记录DM.DM2.ClientDataSet3.ChangeCount为0,
第二次更新记录DM.DM2.ClientDataSet3.ChangeCount为1,
第三次更新记录DM.DM2.ClientDataSet3.ChangeCount又为0不知什么原因

解决方案 »

  1.   

    有规律的一次可以一次不可以? 奇怪~不过,在判断ChangeCount之前,建议先CheckBrowseMode,如果我写,会这样:dm.DM2.ClientDataSet3.CheckBrowseMode;
    if dm.DM2.ClientDataSet3.ChangeCount > 0 then
    beign
    end
    else begin
      dm.DM2.ClientDataSet3.ApplyUpdates(0);
    end;
      

  2.   

    晕~ ifelse写错dm.DM2.ClientDataSet3.CheckBrowseMode;
    if dm.DM2.ClientDataSet3.ChangeCount > 0 then
    beign
      dm.DM2.ClientDataSet3.ApplyUpdates(0);
    end
    else begin
    //TODO:do nothing
    end;
      

  3.   

    为什么要先写
    dm.DM2.ClientDataSet3.CheckBrowseMode;
      

  4.   

    microjuz(头) ,
    确定进入Browser状态,这样得到的ChangeCount才是正确的.
      

  5.   

    没有Post就判断ChangCount???
      

  6.   

    呵呵changecount是Tclientdataset的记录改变的次数
    当你applyupdates后,如果成功了,delta属性被清空
    changecount也被设为0了
    当你在客户端更改数据 只有post之后 changecount自加
    所以你上面的结果是正确的
      

  7.   

    再问一个问题,谁知道DbGrid中怎么实现计算功能
    比如:数量 单价 金额
    输入数量,单价的时候,就能自动算出金额啊?谢谢`~