三层结构的程序中大家是如何定义clientdataset事件的? ( 积分: 100 )

  • 主题发起人 主题发起人 sxbug
  • 开始时间 开始时间
S

sxbug

Unregistered / Unconfirmed
GUEST, unregistred user!
我做了一个三层结构的工资系统,发现几个问题,主要是clientdataset的问题。
1、在cds的afterpost写了:if changcount>0 then
cds.applyupdate(0);在dbgrid删除记录后,发现没有执行cds.applyupdate(0),但如何修改记录和插入记录,可以执行cds.applyupdate(0);难道delete不会改变changecount次数?
2、大家一般设置beforeRefresh = afterPost吗?
3、cds删除数据后,如果重新从服务器取数据(我是通过调用服务器端的接口函数实现),那么cds.refresh后,得到的数据集就会与数据库存储的数据集不同?也就是在dbgrid中删除数据,提交后,cds.refresh,居然删除的记录还在,只有重新取数据后才正常。
大虾们一般都在cds上设置一些什么事件???
 
我做了一个三层结构的工资系统,发现几个问题,主要是clientdataset的问题。
1、在cds的afterpost写了:if changcount>0 then
cds.applyupdate(0);在dbgrid删除记录后,发现没有执行cds.applyupdate(0),但如何修改记录和插入记录,可以执行cds.applyupdate(0);难道delete不会改变changecount次数?
2、大家一般设置beforeRefresh = afterPost吗?
3、cds删除数据后,如果重新从服务器取数据(我是通过调用服务器端的接口函数实现),那么cds.refresh后,得到的数据集就会与数据库存储的数据集不同?也就是在dbgrid中删除数据,提交后,cds.refresh,居然删除的记录还在,只有重新取数据后才正常。
大虾们一般都在cds上设置一些什么事件???
 
我是从不用它自己带的这个的,
你下载这个看看,
对你一定有用
http://www.2ccc.com/article.asp?articleid=2700
 
我可能暂时不能修改太多的代码
暂时大家还是看使用cds如何解决吧
 
大家三层结构的程序,没有这些问题?
 
你Delete后有没有Post?没有的话: 在cds的afterpost写了:if changcount>0 then
cds.applyupdate(0);这句肯定是没有执行了,你在Delete后加上一句Post就可以搞定了!ChangeCount是在POST后才改变的!
 
其實三層程序﹐
我從去年到現在﹐
總覺得沒有一個完整的模式﹐
其實我想﹐我的這個做法實際上很完美了。
但是我沒有聽過阿朱的講座。
 
我在afterpost后写了if changecount>0 then
....一般情况下如修改,增加都没有问题
但删除好像不行
那位这方面很熟的高人,能否讲一下:cds的一般处理方法,如对于插入、删除、修改,要做哪些事件,在什么情况下,需要重新从数据库底层取数据?
 
sxbug:
我说的方法有试过吗?
 
qingwen07
你说的办法解决delete是没有问题的。
现在我的问题是CDS为什么在delete后没有执行afterpost里面的提交操作,难道delete没有令changecount>0?
还有我发现如果delete后,强行执行applyupdate,数据会提交,但执行cds.refresh后,删除的数据会在dbgrid中重新显示出来(其实数据已删除),除非我们重新从数据库取数据。
但如果我们每进过一次数据操作,就重新从数据库取一次数据,效率实在太低了
大家在这方面是如何处理的?
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部