2014-10-17 2 views
0

У меня есть DataTable с 2-мя колонками: (1) Имя клиента (2) ID клиентаУникальные ограничения на DataTable

Источником этой DataTable представляет собой базу данных с большим количеством комбинаций имени клиента и идентификатор клиента. Что мне нужно в моем datatable - уникальная комбинация имени клиента и идентификатора клиента. Если в datatable уже содержится одна и та же комбинация, я бы хотел, чтобы она «переходила» к элементам. В моем коде ошибка появляется, когда она встречает ту же комбинацию (таким образом, препятствуя мне завершить мой datatable). Есть ли способ предотвратить это?

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 

ответ

0

Самый простой способ сделать это - отфильтровать источник данных, чтобы у вас были только уникальные предметы.

Если источником является база данных, вы можете использовать «SELECT DISTINCT» при запросе базы данных. Или, альтернативно, используйте метод Linq Distinct для фильтрации кода.

Альтернативой является проверка наличия каждого элемента перед добавлением строки, т. Е. Вам нужно будет «передать» дубликаты самостоятельно.

+0

Можно ли использовать «SELECT DISTINCT» для комбинации записей? – lulutanseco

+0

@lulutanseco - обязательно: «SELECT DISTINCT CustomerName, CustomerID FROM ...». – Joe

Смежные вопросы