使用公文包模型的本地TClientDataSet的主键

时间:2011-11-28 16:48:37

标签: sql-server primary-key datasnap tclientdataset

当DataSnap客户端应用程序连接到DataSnap Server的远程数据模块并使用TDataSetProvider + TClientDataSet时,它会缓存客户端应用程序本地的db表(或视图)。用户可以在本地更改TClientDataSet中的数据,并ApplyUpdates(0)将更改与服务器同步。这一切都有道理。

使用SQL Server 2008 db,主键可以是identityGUID字段。假设用户在将新记录添加到本地TClientDataSet时将离线,本地TDataSetProviderTClientDataSet如何处理主键字段的分配用户创建记录?由于本地创建的记录可能是主/细节关系的一部分,因此在本地创建新主键需要似乎是合乎逻辑的。当用户执行`ApplyUpdates(0)'时,如何解决?

当多个用户以离线模式创建记录时,如果每个用户执行ApplyUpdates(0)时主键冲突如何解决?

identity字段优于GUID字段,反之亦然?为什么呢?

1 个答案:

答案 0 :(得分:0)

这可能是最接近的答案:

How to use AutoInc fields with DataSnap

有没有人有更好的建议?