在三层结构中,客户端增加、修改、删除记录,你们是采用什么方法。
1:调用应用服务器的方法。
2:调用ClientDataSet的Append、Edit、Delete等,那后ApplyUpdate
3:利用ClientDataSet的CommandText,直接写SQL语句。如果采用第2种方法,那么操作后可以在DataGrid中看最新的记录,如果采用1或3,那么ClientDataSet又需要重新Close、Open,这样又要从应用服务器下载数据,增加了网络传输量。请高手们谈谈。
1:调用应用服务器的方法。
2:调用ClientDataSet的Append、Edit、Delete等,那后ApplyUpdate
3:利用ClientDataSet的CommandText,直接写SQL语句。如果采用第2种方法,那么操作后可以在DataGrid中看最新的记录,如果采用1或3,那么ClientDataSet又需要重新Close、Open,这样又要从应用服务器下载数据,增加了网络传输量。请高手们谈谈。
ClientDataSet有两个属性,Data,DeltaData是修改前的数据
Delta是修改的数据
MergeChangeLog就是将二者合并;
使用2中的applyupdate更新是否一定成功?
如不成功在客户端是否有提示?
因为ClientDataSet都是通常用来读取一些配置数据,数据量小。
而且很少涉及 增,删,改的操作。
其它大数据量的,或者有 增,删,改的操作的
都是调应用服务器的Service实现。
如果直接调用应用程序服务器中的方法那肯定也是ok
2:调用ClientDataSet的Append、Edit、Delete等,那后ApplyUpdate
2、方法虽然从表面上是三层,但实际上跟两层没有太多的区别,尤其是从开发上说。利用ClientDataSet来处理数据库,这样操作省去了直接写SQL语句。这种方法处理数据库Append、Edit、Delete后,一定需要提交到服务器。ApplyUpdate。
3、跟2没有太多的区别,就是这个人有病,自找麻烦。明显将数据处理放在客户端,可以用ClientDataSet来完成操作。自己写CommandText你不累呀~!不过这样可以省去了在服务器段放较少的提供者,客户端也并不需要太多的ClientDataSet。方法也有其存在的意义~!