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. 唯一約束在NON-NULL列上的唯一約束
- 3. 唯一約束
- 4. 唯一約束Nhibernate
- 5. OpenERP唯一約束
- 6. oracle唯一約束
- 7. 唯一約束JayData
- 8. 唯一約束(SchemaName.DATA1_PK)
- 9. 唯一約束值
- 10. Mongoid組合鍵上的唯一約束
- 11. 表列上的唯一約束條件
- 12. PostgreSQL的唯一約束不夠唯一
- 13. Grails的唯一約束
- 14. SQLite中的唯一約束
- 15. SQLite表約束 - 在多列上唯一
- 16. 唯一約束vs唯一索引
- 17. Oracle唯一約束和唯一索引
- 18. 唯一約束的命名約定
- 19. XML模式唯一約束
- 20. JPA唯一約束驗證
- 21. Neo4JClient創建唯一約束
- 22. 笨ORA-00001:唯一約束
- 23. Postgres添加唯一約束
- 24. 唯一約束與預檢
- 25. 唯一約束性能
- 26. 多列唯一約束
- 27. 添加唯一約束列
- 28. 違反唯一鍵約束
- 29. 刪除唯一約束
- 30. 違反唯一約束?
嘿'感謝。它非常適合我..... – nirav 2012-08-07 11:57:10
如果我已經有一個填充的DataTable並且想要將重複的行提取到另一個數據表中,那麼所有重複的數據以及它們的行號都基於一組唯一的密鑰? – 2016-12-22 11:27:11