C# SQLServerCE/本地数据缓存/同步框架-插入错误
希望有人能帮助我。我有一个VisualStudio2008 WinForms 已向其添加本地数据缓存的应用程序。本地数据缓存正在运行 通过SqlServerCE使用SDF文件,并且正在使用缓存SQL Server 2008数据库 已启用更改跟踪 这是工作,我可以做双向同步等 我遇到的问题是将数据插入到 已由VS向导创建。当我尝试插入数据时 通过编程或甚至通过VS接口显示数据,我得到一个错误 声明“无法将重复值插入唯一索引”,因为 主键约束 这些表有一个auto inc int主键,看起来像种子一样 已重置为1。不过,并非所有的表都会出现这种情况,只有一个表会出现这种情况 很少 有没有办法解决这个问题 问候,, 亚当 您可以发布相关表的服务器DDL语句吗? 如何在客户端上创建主键?错误消息表示您正试图在表中再次插入相同的PrimaryKey。 也可能考虑C# SQLServerCE/本地数据缓存/同步框架-插入错误,c#,sql-server,sql-server-ce,microsoft-sync-framework,C#,Sql Server,Sql Server Ce,Microsoft Sync Framework,希望有人能帮助我。我有一个VisualStudio2008 WinForms 已向其添加本地数据缓存的应用程序。本地数据缓存正在运行 通过SqlServerCE使用SDF文件,并且正在使用缓存SQL Server 2008数据库 已启用更改跟踪 这是工作,我可以做双向同步等 我遇到的问题是将数据插入到 已由VS向导创建。当我尝试插入数据时 通过编程或甚至通过VS接口显示数据,我得到一个错误 声明“无法将重复值插入唯一索引”,因为 主键约束 这些表有一个auto inc int主键,看起来像种子一
我也有同样的问题,用guid替换Int/auto-incremental值。这对我有好处。我也有同样的问题。我通过使每个表上的每个主键都成为GUID来修复它。这样,当在脱机环境中在客户端上创建记录,然后与服务器同步时,客户端/服务器主键之间就不会发生冲突。这还可以防止在每次插入到已存在的值时属性标识自动递增的冲突 如下面的屏幕截图所示,数据类型设置为nvarchar50。它可以是任何类似字符串的数据类型,默认值设置为newid,标识规范设置为No SQL Server Management Studio中的GUID属性屏幕截图: 您可以从中阅读有关GUID数据类型的更多信息,并查看它们是否适合您的特定场景