我觉得Delphi在缓存方面做的相当不错。
我只有一个地方感到怀疑,就是在insert记录后,ApplyUpdates。然后再修改这条记录,ApplyUpdates,这时候Delphi有可能又把这条当成Insert的记录ApplyUpdates。不过这个错误时有时无,无法确定。
其他的地方没有BUG,不要轻易怀疑Delphi,再查查你的程序。

解决方案 »

  1.   

    为了这个问题我专门编了一个测试程序!我没有写任何代码>
    我只有一个单笔保存(query.post)的按钮和一个多笔保存的按钮(query.applyupdates,query.commitupdates;);delphi就是把我修改的记录认为是新增加的记录
    !太奇怪了!!修改用的dbgrid!如果你不相信我可以在上班的时候把我的测试程序发给你看一下!我基本上没有写其他代码!!只要你按我的步骤操作保你出错!百试不爽!
      

  2.   

    chechy 你觉的lookup字段怎么样??
    如果一个主表lookup 3个以上不同表的字段速度实在不能忍受!@
    象这样的问题因该如何解决?用视图的话好象只能在保存以后才能得到刷新!!
      

  3.   

    1、由于我家里环境有限,最好提供给我MSSQL的数据库脚本。
    2、最好提供MSSQL脚本的数据。
    3、你的错误程序。
    邮箱我通过短信发给你。
      

  4.   

    将lookup表放在本地,用paradox或者cds格式,速度就不受影响了。
      

  5.   

    我说的是新增状态!
    就是有的用户需要批次输入!
    把A表中的一部分数据拉出来(sql 语句)和其它表关联!
    作为B表的新增数据!(缓存更新),b表保存的是a关联表中的关联key(不止一条key数据),但是显示的时候又要显示多一点信息(如:保存的是工号!却要显示姓名,部门等)这时的状态是缓存更新的新增状态!!还没有applyupdates
      

  6.   

    我理解能力有限,没看明白。如果是代码表,可以放在本地。如果有变化,可以通过版本校验,下载更新。
    如果不是,那么可以试试SQL连接。