我现在遇到的问题是,当在客户断进行数据更新后,客户端看到的内容与数据库服务器的不一致,而实际更新确实是已经写回数据库中。本次更新只有在下次登陆时才体现出来。

解决方案 »

  1.   

    請使用 TClientDataSet1->Refresh();
      

  2.   

    在三层系统中 Client App 是离线作业的。要保持与DataBase同步用
    Refresh  刷新数据集。 要正确设置索引
    RefreshRecord  刷新当前记录最后。 
       ClientDataSet.Close; 
       ClientDataSet.Open;
    一定行
      

  3.   

    如果ClientDataSet1的连接记录集为你更新的记录,那么使用ClientDataSet1->Refresh(),是肯定能行的。看不到更新的记录,很可能是由于你的ClientDataSet1的连接记录集记录不是原来的记录集了。例如:你的ClientDataSet1连接的记录集是Table1,请这样试一下:
    ClientDataSet1.Close; 
    ClientDataSet1.CommandText="select * from Table1";
    ClientDataSet1.Open;
    当然这样作之前,请确认你的DataSerProvider的Option属性里poCommandtext为true;(好像是poCommandtext,具体的我忘了)
      

  4.   

    对不起,我写错了,上面应该是ClientDataSet1.Refresh(),
      

  5.   

    没错,我的ClientDataSet是和服务应用程序的Table连在一起的。我现在把服务端的Provider设为自动刷新。问题还是没有彻底解决。
    具体情况是这样的:我在客户端做了个主/从表结构,主从表靠一个关联字段连在一起。而问题就出在从表上。
      

  6.   

    有朋友在问拥有你们的源代码有用吗?
    我明确的回答是:
    使你顺利地从二层结构转到多层结构上来.
    使你充分发挥多层应用的强大的功能,并使之应用到实际的生产环境.
    使多层结构的开发成本接近于二层结构.
    请相信,这些你能做到而且所花时间不长.说明:
    本系统为本人花费半年精力编写,现已成功投入使用。
    采用DCOM分布式访问Oracle, 成熟稳定。
    方法,代码绝对标准。(现在的技术书籍一般都从Delphi的Demo搬出来。
    作者很多都没开发过MIDAS,本人也曾经深受其害)
    我愿与大家多多交流!
    [email protected]