我的客户端主要是显示数据库的数据。
应用服务器端:TDatabase,TQuery,TDatasetPrivder。
客户端:TSocketConnection,TClientDataset,TdataSource,TDBGrid。
客户端每隔一定的时间刷新一次数据,我采用ClientDataset.Close,ClientDataset.Open进行刷新。
在客户端运行中,如果后台数据库增加记录,客户端刷新可以显示,如果是减少记录,客户端的数据则不会刷新。如果采用Refresh进行数据刷新,在后台几次改变记录数后,客户端就没有数据显示了,实际上,后台数据库是有的。请问在数据刷新时,应用服务器,客户端需要怎么做比较好,能达到目的?
应用服务器端:TDatabase,TQuery,TDatasetPrivder。
客户端:TSocketConnection,TClientDataset,TdataSource,TDBGrid。
客户端每隔一定的时间刷新一次数据,我采用ClientDataset.Close,ClientDataset.Open进行刷新。
在客户端运行中,如果后台数据库增加记录,客户端刷新可以显示,如果是减少记录,客户端的数据则不会刷新。如果采用Refresh进行数据刷新,在后台几次改变记录数后,客户端就没有数据显示了,实际上,后台数据库是有的。请问在数据刷新时,应用服务器,客户端需要怎么做比较好,能达到目的?
ClientDataSet1.ApplyUpdates(0);
ClientDataSet1.RefreshRecord;
ClientDataSet.open;
我认为肯定行。
这个相当于提交一次SQL语句。
借贵宝地用一下:ClientDataSet.ApplyUpdates();括号里面的参数什么意思啊?用0,-1是不是都可以啊 请高手教下^_^
用RefreshRecord更不行,我做过测试.要SocketConnetion一直保持连接才行,只要中间断开,非要重新启动程序才能刷新数据。
上面各位提供的办法都试过,在不保持SocketConnetion一直连接的情况下都不行。