2010-07-26 1 views
0

я имеют значения, как True/False/ложь/правда .... мне нужно получить только уникальные значения, как истинные и ложные, а не все значения, как Истинный & Ложные & ложные & правда ...избежать дублирования значений в в моем дб DataTable

мой код:

DataTable dv= dt.DefaultView.ToTable(true, col.header); 

dv.Casesensitive=true; 

, но я получил значение, как истинное & Ложных & лжи.

Как избежать обоих одинаковых значений, даже если они как шапки/маленькие буквы и получить только True & Ложные значения.

Это должно быть сделано только на бэкэнд. в C# не через запрос ......

+0

Возможно, вам стоит позвонить в dv.Casesensitive перед вызовом ToTable – tzup

ответ

0

С помощью LINQ вы можете сделать что-то вроде этого:

var s = (from p in dv 
      orderby p.YourColumn 
      select p.YourColumn.ToUpper()).Distinct(); 

Вот хороший блог post для тебя.

0

Попробуйте установить случай значений при выборе. Некоторые вещи, как SELECT ... upper(bool_column_name) ... FROM ...

Кроме того, проверьте this.

1

Или, вы можете просто вернуть четкий список (при условии, регистронезависимы дБ сверку):

SELECT DISTINCT YourField FROM YourTable 
+0

Хороший способ сделать это, но оригинальный плакат сказал, что он должен был сделать это в коде, а не в запросе. – Chris

+0

@ Крис - они изначально не говорили, что ... это было позднее редактирование :) – AdaTheDev

+1

Чертовски редактирует ... ;-) – Chris

0

Чувствительность к регистру влияет на результаты поиска, это не влияет на отображение элементов.

Вам необходимо преобразовать значения в верхний регистр либо в оператор SQL, который используется для получения данных, вашего представления или кода.