我得到一个我不明白的约束错误。
System.Data.ConstraintException: Column 'ID' is constrained to be unique.
Value '01d3eb89-f4e1-4782-9519-da8f08e0638f' is already present.
会员数据中重复该值 - 我不知道它是如何被限制为唯一的。
查询是
SELECT MemberData.UserId, MemberData.FormRow, MemberData.Value
FROM AuthUsers, MemberData
WHERE (AuthUsers.GroupId = @groupId AND AuthUsers.Id = MemberData.UserId
AND MemberData.FormId = @formId)
Group By MemberData.UserId, MemberData.FormRow, MemberData.Value
AuthUsers
是ASP.NET用户表,其中添加了groupId
字段,这是一个Guid。
MemberData
是表单数据的数据。它有
FormRow (Guid)
- 指向FormRow中的表单定义行
价值(字符串)
Id (int)
- 唯一的自动增量键
UserId (string)
- 来自AuthUser表的userId
FormId (Guid)
- 指向表单中的表单定义
MemberData有
每个MemberData.UserId
(用户的表单数据集合)重复formRow
MemberData.FormRow
针对UserId
形式的formRow
的每个用户的每个用户的数据重复了多个FormId's
。
表格中的每个MemberData.FormId
都会重复FormRow
MemberData.Value
是用户输入的任意值。
错误是一个用户ID,在其所在的五个字段的数据中重复了5次。
我正在尝试填充成员网格摘要,获取MemberData
中按UserId
分组的所有数据行,这是摘要行。使用GroupId
是因为摘要适用于组中的所有用户。
答案 0 :(得分:1)
这有点尴尬,消息是从网格加载而不是数据库。非常令人困惑,我正在使用非常相似的消息修复一些SQL查询问题,并且最终的错误消息看起来就像数据库一致的其他方式。问题在代码逻辑中得到修复。