这样写是图方便而已,正确的写法是
本地ClientDataset做为内存表使用
在RemoteDataModule中,使用Cds+provider+Dataset组合,来让Cds得到数据
并且提供n个自定义的方法,返回cds的xmlData或Data,其实这才是midas的精华部分---数据的序列化
客户端不使用iAppServer来取得数据,而使用自定义方法来获得数据
而更新数据应该在本地Cds更新后,传递Delta,那本书上讲得很清楚,delta只封装更改过的数据,这样的数据量很小,传递给as,同样调用自定义方法,
RemoteModule的方法应该是
1.select * from aTable where 1=0,取得空数据
2.将客户端传递的delta赋值给cds,然后调用cds的applyupdate,由cds产生更新的sql语句,
3.当然其中可能涉及到新增时的newId问题,你可以在更新前,更改cds.data来使新增数据的主键加入你自己的newid,并在更新完成后将newid回传给客户端,做同步处理.
你说的问题还是很抽象 能不能简单说下比如用户登录如何验证身份的参数传递问题
谢谢!
本地ClientDataset做为内存表使用
在RemoteDataModule中,使用Cds+provider+Dataset组合,来让Cds得到数据
并且提供n个自定义的方法,返回cds的xmlData或Data,其实这才是midas的精华部分---数据的序列化
客户端不使用iAppServer来取得数据,而使用自定义方法来获得数据
而更新数据应该在本地Cds更新后,传递Delta,那本书上讲得很清楚,delta只封装更改过的数据,这样的数据量很小,传递给as,同样调用自定义方法,
RemoteModule的方法应该是
1.select * from aTable where 1=0,取得空数据
2.将客户端传递的delta赋值给cds,然后调用cds的applyupdate,由cds产生更新的sql语句,
3.当然其中可能涉及到新增时的newId问题,你可以在更新前,更改cds.data来使新增数据的主键加入你自己的newid,并在更新完成后将newid回传给客户端,做同步处理.
你说的问题还是很抽象 能不能简单说下比如用户登录如何验证身份的参数传递问题
谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货