DataTable上的唯一约束

时间:2014-10-17 06:21:53

标签: asp.net vb.net datatable constraints

我有一个包含2列的数据表: (1)客户名称 (2)客户ID

此数据表的来源是一个包含许多客户名称和客户ID组合的数据库。我在数据表中需要的是客户名称和客户ID的唯一组合。如果数据表已经包含相同的组合,我希望它能够通过"传递"这几项。在我的代码中,当遇到相同的组合时,错误会一直出现(因此,阻止我完成我的数据表)。有什么方法可以阻止这种情况吗?

    Dim parameters As New DataTable

    parameters.Columns.Add("Customer Name", GetType(String))
    parameters.Columns.Add("Customer ID", GetType(String))
    Dim myUniqueConstraint = New UniqueConstraint(New DataColumn() {parameters.Columns(0), parameters.Columns(1)})
    parameters.Constraints.Add(myUniqueConstraint)
    Dim row_param As DataRow

1 个答案:

答案 0 :(得分:0)

最简单的方法是过滤数据源,以便只有唯一的项目。

如果源是数据库,则可以在查询数据库时使用“SELECT DISTINCT”。或者使用Linq的Distinct方法过滤代码。

另一种方法是在添加行之前检查每个项目是否存在,即您需要自己“复制”重复项。