2
A
回答
5
你需要的是一个真正的唯一约束您DataTable
。 群集密钥是SQL Server磁盘上功能,不适用于DataTable
。
退房MSDN doc on DataTable constraints:
的的UniqueConstraint对象,该对象可以被分配给单个列或列的数据表中的一个阵列,可以确保在指定的列中的所有数据或列是唯一的每行。您可以使用UniqueConstraint构造函数为列或列创建唯一约束。
因此,尝试这样的事:
// this is your DataTable
DataTable custTable ;
// create a UniqueConstraint instance and set its columns that should make up
// that uniqueness constraint - in your case, that would be a set of *three*
// columns, obviously! Adapt to your needs!
UniqueConstraint custUnique =
new UniqueConstraint(new DataColumn[] { custTable.Columns["CustomerID"],
custTable.Columns["CompanyName"] });
// add unique constraint to the list of constraints for your DataTable
custTable.Constraints.Add(custUnique);
这应该为你做的伎俩!
0
为了使您的列强制UNIQUE约束,你可以使用
DataTable dt = new DataTable();
dt.Columns.Add("UniqueColumn");
dt.Columns["UniqueColumn"].Unique = true;
解决方案二
如果您希望某些列中某些值的组合具有唯一值,则可以尝试此操作。
DataTable dt = new DataTable();
dt.Columns.Add("UniqueColumn1");
dt.Columns.Add("UniqueColumn2");
dt.Columns.Add("UniqueColumn3");
dt.Columns.Add("NormalColumn");
string
value1 = string.Empty,
value2 = string.Empty,
value3 = string.Empty,
value4 = string.Empty;
//Logic to take values in string values variables goes here
DataRow[] founded = dt.Select("UniqueColumn1 = '"+ value1+
"' and UniqueColumn2 = '"+value2+
"' and UniqueColumn3 = '"+value3+"'");
if (founded.Length > 0)
// Message to say values already exist.
else
// Add a new row to your dt.
在此代码检查存在的DT数据强制唯一性
相关问题
- 1. DataTable唯一约束 - 引发事件
- 2. 唯一约束
- 3. 唯一约束(SchemaName.DATA1_PK)
- 4. 唯一约束值
- 5. 唯一约束JayData
- 6. 唯一约束Nhibernate
- 7. 表列上的唯一约束条件
- 8. SQLite中的唯一约束
- 9. Grails的唯一约束
- 10. SQLite表约束 - 在多列上唯一
- 11. 唯一约束vs唯一索引
- 12. Oracle唯一约束和唯一索引
- 13. 唯一约束的命名约定
- 14. PK和唯一约束
- 15. 多列唯一约束
- 16. 复合唯一约束SQL
- 17. 笨ORA-00001:唯一约束
- 18. 冬眠唯一约束
- 19. 在唯一键约束
- 20. 多列唯一约束
- 21. HABTM - 唯一性约束
- 22. DB2 - 唯一约束多列
- 23. 唯一约束异常(SQLIntegrityConstraintViolationException)
- 24. 主键与唯一约束?
- 25. 唯一约束外键列
- 26. JPA唯一约束验证
- 27. 违反唯一键约束
- 28. 添加唯一约束列
- 29. 定义在表的同一列上的主键约束和唯一约束
- 30. 引发QLSTATE的唯一约束[23000]:完整性约束违规:1062因为唯一约束而重复
嘿'感谢。它非常适合我..... – nirav 2012-08-07 11:57:10
如果我已经有一个填充的DataTable并且想要将重复的行提取到另一个数据表中,那么所有重复的数据以及它们的行号都基于一组唯一的密钥? – 2016-12-22 11:27:11