如题,三层架构的主从表单,主表及从表都用的dbgrid,进入表单后,第一次修改从表数据,存盘成功,以后再次修改,再存盘后,查看SQL服务器,没有存进去,程序也没有报错,请各路高手帮忙指点一下,存盘程序如下:
procedure TForm6.BtnSaveClick(Sender: TObject);
begin
   Try
    clientdataset1.ApplyUpdates(0);
   Except
    showmessage('Save Error');
  End;
end;

解决方案 »

  1.   

    我只是把从表的grid中测试改了几个字符而已,第一次改,保存成功,以后每次改均不成功,也没有报错
      

  2.   

    占个位置
    继续努力学习中..........
    顶顶帖子,接分中........顶顶帖子,高手们也请多多赐教
    http://topic.csdn.net/u/20110913/13/59f92d11-1fb0-4b7e-9c4a-e93d8f19c689.html
    http://topic.csdn.net/u/20110611/12/3258c959-4f28-46b7-b5d6-46135d73036b.html
    http://topic.csdn.net/u/20110722/14/89f7440b-c4d7-4c9a-a4bb-a503f5135db2.html
    http://topic.csdn.net/u/20110729/10/a7bfaf06-0cf9-4580-8e91-d4e0b92066c6.html
    http://topic.csdn.net/u/20110811/16/e56e7cc1-d8c9-40af-92e3-c24ca103d17d.html
    http://topic.csdn.net/u/20110830/13/dfae4ca5-d2b9-4889-8a3c-6f7fb61936c9.html
    http://topic.csdn.net/u/20110905/12/a1161adb-8e5d-491a-b302-c9722edf2dab.html
    http://topic.csdn.net/u/20110913/16/2dbcc9db-8f71-40c5-901f-afae9026f7c2.html
    http://topic.csdn.net/u/20110913/13/59f92d11-1fb0-4b7e-9c4a-e93d8f19c689.html
      

  3.   

    我做的三层,不使用ApplyUpdates(0)更新数据:
    经测试:
    1、第一次时,数据库中无数据,可以加入数据。
    2、其后的更新操作,均不能。因为ID冲突的关系。
    3、建议使用SQL语句更新数据。
      

  4.   

    应该是两条相同的记录,包括ID也相同的。
    你的ID是怎么得到的,自己搞的还是自动增量。
      

  5.   

    ID应该自支生成,以时间为参照,使得每个ID不同。
      

  6.   

    照书本上的方法处理 有BUG,纯属正常。
      

  7.   

    這樣試試:clientdataset1.ApplyUpdates(0);
    clientdataset1.MergeChangeLog
      

  8.   

    我只是想知道原因,这样硬邦邦的去存盘感觉很奇怪,而且出现这个问题的前提是,主从表两个表都用Dbgrid时,才会有这个问题,如果只有从表用Dbgrid时,就不会有这个问题的
      

  9.   

     唉,一个delphi新手提的问题,竟然没有人能解决,真是悲哀
      

  10.   

    clientdataset1.ApplyUpdates(0);
    仅对新数据有效,对运程数据的更新,有问题。建议使用SQL语句更新。
      

  11.   

    有主键clientdataset1.ApplyUpdates(0)也不能更新数据。至今未找到问题的根源。
      

  12.   

     如果这个指令有问题没法解决,用 SQL更新的话,如何判断一条记录是否被用户修改过?SQL语句该如何写呢?请各位高手继续关注本贴
      

  13.   

    要像开发web程序的模式来开发三层程序,不然会中途会遇到很多莫名其妙的问题(主要是多人在不同时段对同一张单的操作,又不同时段的保存),是改完数据即可用SQL语句更新到后台,更新之前要判断单据的一些基本状态。