我有一個非用戶輸入(無數據庫)數據填充的非類型數據集。沒有主鍵列(到目前爲止,我的數據不需要主鍵)!有沒有什麼辦法可以避免「蠻力」,如果我想檢查新的行用戶是否試圖插入已存在於我的DataTable?我應該如何執行該檢查?如何檢查DataTable是否包含DataRow?
0
A
回答
2
您可以手動創建獨特constraints你的DataTable:
DataTable custTable = custDS.Tables["Customers"];
UniqueConstraint custUnique = new UniqueConstraint(new DataColumn[]
{custTable.Columns["CustomerID"],
custTable.Columns["CompanyName"]});
custDS.Tables["Customers"].Constraints.Add(custUnique);
在這個例子中,你會得到(ConstraintException
類型的)一個例外,如果你嘗試將行添加到其中CustomerID
和CompanyName
是另一行的重複使用相同的CustomerID
和CompanyName
表。
我只想讓DataTable
在內部爲您檢查這些事情 - 沒有意義重新發明輪子。至於如何它(它是否有效),將不得不爲你做一個練習。
0
0
來檢查任何重複嘗試
if (table.Rows.Contain(PriKeyTypeValue)) /*See if a Primary Key Value is in
the table already */
continue;
else
table.Row.Add(value1, value2, value3);
如果您希望能夠插入重複行,但不希望有甩建立主鍵作爲一個獨特的自我遞增的整數,那麼一個異常您可以根據感覺,而無需檢查,看看錶包含value.you可以設定像下面的主鍵值中插入多個副本....
DataTable table = new DataTable();
table.Columns.Add("Column", typeof(int));
DataColumn column = table.Columns["Column"];
column.Unique = true;
column.AutoIncrement = true;
column.AutoIncrementStep = 1; //change these to whatever works for you
column.AutoIncrementSeed = 1;
table.PrimaryKey = new DataColumn[] { column };
0
很多,很多簡單的方法:
datatable.Columns.Contais("ColumnName")
相關問題
- 1. 如何檢查DataRow是否包含空值
- 2. 如何檢查datatable是否包含任何匹配的行?
- 3. 如何檢查如果datatable包含anyrow
- 4. 檢查是否DataRow的細胞部分包含串
- 5. 檢查是否爲空DataRow
- 6. 如何檢查NSString是否包含'%'?
- 7. 如何檢查HashSet是否包含值?
- 8. 如何檢查url是否包含「main.php」
- 9. 如何檢查CGContext是否包含點?
- 10. 檢查是否包含jQuery
- 11. 檢查是否行包含/ *
- 12. 如何檢查Datatable值是否包含字符串輸入的一部分?
- 13. 如何檢查Uris是否等於不包含查詢部分?
- 14. 如何檢查並查看數字是否包含小數?
- 15. 如何檢查url是否包含查詢字符串
- 16. 如何檢查數組以查看它是否包含零值?
- 17. 如何檢測表是否包含表?
- 18. 檢查is_page(x)是否包含數組
- 19. 檢查行是否包含單詞
- 20. 檢查輸入字段是否包含@
- 21. 檢查字符串是否包含除
- 22. PHP - 檢查函數是否包含
- 23. Java - 變量檢查是否包含
- 24. 檢查是否字符串包含「HTTP://」
- 25. 檢查是否包含在子類
- 26. SQL檢查組是否包含NULL
- 27. 檢查JavaScript對象是否包含X?
- 28. 檢查richtextbox是否包含文本框
- 29. 檢查Enum是否包含字符串?
- 30. 檢查列表是否包含密鑰
就是這樣! TNX! – guest86