2010-07-26 104 views
0

在我的数据库中我的值为True/False/false/true ....我只需要得到唯一的值为True和False,而不是所有值为True & False & false &真的...避免数据表中的重复值

我的代码:

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

dv.Casesensitive=true; 

,但我得到的真&假&假的值。

如何避免两个相似的值,即使它们作为大写/小写字母,并且仅获得True & False值。

它应该只在后端完成。在C#中没有通过查询......

+0

也许你应该在ToTable调用之前调用dv.Casesensitive – tzup 2010-07-26 11:03:09

回答

0

使用LINQ,你可以做这样的事情:

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

这里是一个很好的博客post为你。

0

尝试在选择时设置值的大小写。有些东西like SELECT ... upper(bool_column_name) ... FROM ...

此外,检查this了。

1

或者,你可以只返回一个不同的名单(假设不区分大小写数据库整理):

SELECT DISTINCT YourField FROM YourTable 
+0

这样做的好方法,但原始的海报说他必须在代码中执行,而不是在查询中执行。 – Chris 2010-07-26 12:46:43

+0

@Chris--他们原本没有说......那是后来的编辑:) – AdaTheDev 2010-07-26 14:32:00

+1

该死的编辑... ;-) – Chris 2010-07-26 14:59:46

0

区分大小写会影响搜索结果,但不会影响项目的显示方式。

您需要将值转换为大写,无论是在用于获取数据的SQL语句中,还是在视图中或代码中。