0

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

使用 SQL Server 2008 db,主键可以是identity一个字段或GUID字段。假设用户在向本地添加新记录时会离线,那么当用户创建TClientDataSet记录时,本地TDataSetProvider和处理主键字段的分配如何?由于本地创建的记录可能是主/从关系的一部分,因此需要在本地创建新的主键似乎是合乎逻辑的。当用户执行“ApplyUpdates(0)”时,如何解决?TClientDataSet

当几个用户在离线模式下创建记录时,当他们每个人都做一个时如何解决主键冲突ApplyUpdates(0)

领域比identity领域更好GUID,反之亦然?为什么?

4

1 回答 1

0

这可能是最接近的答案:

如何在 DataSnap 中使用 AutoInc 字段

有人有更好的建议吗?

于 2011-11-28T22:21:05.537 回答