我有一个非用户输入(无数据库)数据填充的非类型数据集。没有主键列(到目前为止,我的数据不需要主键)!有没有什么办法可以避免“蛮力”,如果我想检查新的行用户是否试图插入已存在于我的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