我做了个midas三层结构的程序.
在客户端我修改并保存数据的代码如下 
begin
if clientdataset1.state<>dsbrowse then clientdataset1.post;
clientdataset1.applyupdate(-1);
if clientdataset1.updatestatus=usunmodified then showmessage('保存成功')
else showmessage('保存失败')
end;
点击保存后出现:showmessage('保存失败');
但是实际上修改的数据已经成功啦!
如果我在clientdataset1.applyupdate(-1);后加上:clientdataset1.refresh;
那么就显示 showmessage('保存成功');
我想在执行clientdataset1.applyupdate(-1);后就应该是usunmodified 模式,可为什么要refresh后才会变为usunmodified呢?
请大家给讲讲.谢谢!

解决方案 »

  1.   

    应该调用applyupdate(-1)保存成功后updatestatus就应该是usunmodified了,原因不明啊。
      

  2.   

    我的服务端的dataset用到了query
    客户端我用Dcomconection1和clientdataset1
    我是通过Dcomconection1.appserver.xx
    //xx是一个过程用服务端的query查询的select语句,通过此过程我可以得到一个视图;
    clientdataset1.close;
    Dcomconection1.appserver.xx;
    clientdataset1.open;
    也就是说我并没有用commandtext来查询数据;
    是不是因为没有用commandtext的原因?