三层的数据更新显示问题!(100分)

  • 主题发起人 主题发起人 quantum99
  • 开始时间 开始时间
Q

quantum99

Unregistered / Unconfirmed
GUEST, unregistred user!
我在客户端用ClientDataSet1.ApplyUpdates(-1)正常的更新了数据,但凡
是通过数据库自动生成的字段显示都没有更新全是空的,我用了
ClientDataSet1.RefreshRecord也不管用,但数据库中已经是正常的,重
新启动客户端也能看到刚才更新的情况,如何能及时更新本地的显示,望各位老师指导!
 
个人意见:参与显示处理的数据字段不般不设为自增。自己设置编号比较灵活。
 
用ClientDataSet1.Refresh试试,
再不行就用ClientDataSet1.Close;
ClientDataSet1.Open;
 
这个问题我也遇到过.定义了关键字也不行.更改了applyupdates允许错误的数量也不行.
试试用clientdataset1.refresh更新试试
随便问一下各位大虾clientdataset1.refreshrecord时候为什么会出现错误.到现在我也
不明白什么意思.我也用了判断
with clientdataset1.updatestatus<>usunmodified then
raise ...;

clientdataset1.refreshrecord;
请各位大虾帮忙
 
这个问题我也遇到过.定义了关键字也不行.更改了applyupdates允许错误的数量也不行.
试试用clientdataset1.refresh更新试试
随便问一下各位大虾clientdataset1.refreshrecord时候为什么会出现错误.到现在我也
不明白什么意思.我也用了判断
with clientdataset1.updatestatus<>usunmodified then
raise ...;

clientdataset1.refreshrecord;
请各位大虾帮忙
 
将中间层的TDataSetProvider控件的Options属性的poPropogateChanges,poAutoRefresh
改为True在试试
 
你们说的我都用过了,可是还不行,难道没有办法了吗?
各位大侠,救救我!!!
 
同意guqs的方法,我也是这样做的,非常可靠。
不过数据库大了以后就会严重影响性能,我的解决办法是
使用带范围限制的sql语句,每次设定只查询一小部分数据,
具体的范围限制应灵活掌握,如限制 一年 或一月 或者干脆一天!!!
 
补充一点:
顺序是
1 applyupdate(0);
2 close;
3 open;
 
我作的次序是这样的:
applyupdates(-1);
//是不是错在用-1,为什么?
ClientDataSet1.Close;
ClientDataSet1.Open;
可是看到网格闪烁了一下,但是自动生成的日期没有,还是空的,自动生成的ID也是空的
但里面有了{0000-000-0000-0000-0000}。
liuxianghui,你是怎么做的,能说的详细些吗?万分感谢!
 
补充:我重新连接SOCKET连接才能重新取得更新的数据,能不能有更好的方法
不用断开连接就能完成?
 
use sql,
research.
 
谢谢maming,能否说详细些?
 
试试手工让数据集滚动一下。
 
把源码发过来让我看看好么!要包括SQL。
 
http://www.delphibbs.com/delphibbs/rules.asp
 
后退
顶部