当DataSnap客户端应用程序连接到DataSnap服务器的远程数据模块并使用TDataSetProvider
+ TClientDataSet
时,它会缓存客户端应用程序本地的db表(或视图)。用户可以对TClientDataSet和ApplyUpdates(0)
中的数据进行本地更改,以使更改与服务器同步。这一切都有道理。
使用Server 2008 db,主键可以是identity
或GUID
字段。假设用户在向本地TClientDataSet
添加新记录时处于脱机状态,那么当用户创建一个新的TClientDataSet
记录时,本地TDataSetProvider
和TClientDataSet
如何处理主键字段的分配?由于本地创建的记录可能是主/详细关系的一部分,因此一个新的主键()需要在本地创建似乎是合乎逻辑的。当用户执行“`ApplyUpdates(0)”时,这是如何解决的?
当多个用户以脱机模式创建记录时,当每个用户执行ApplyUpdates(0)
时,主键冲突是如何解决的?
identity
字段比GUID
字段好还是visa字段好?为什么?
发布于 2011-11-28 22:21:05
这可能是最接近的答案:
如何将AutoInc字段与DataSnap一起使用
有人有更好的建议吗?
https://stackoverflow.com/questions/8299257
复制相似问题