比较数据库和c#中的字符串

时间:2012-07-07 00:14:04

标签: c# sql-server linq datagrid

如果我有查询

var query = from c in ds.Prices
            select c;
dataGridControl1.AutoCreateColumns = true;
dataGridControl1.ItemsSource = query;

datagrid显示表中的所有数据(`ds = new DataSet())。但是当我添加条件时

var query = from c in ds.Prices
            where c.idsticker.Equals("GOOG")
            select c;
dataGridControl1.AutoCreateColumns = true;
dataGridControl1.ItemsSource = query;

datagrid为空。但是价值GOOG存在于表(sql server中的idsticker varchar(10))中。当我比较int值(例如条件是where c.prices > 660)时,它正常工作。

有什么问题?

1 个答案:

答案 0 :(得分:2)

我能想到的就是对它应用Trim(),并可能使用ToUpper()来查看其中一个或两个是否有任何区别。

var query = from c in ds.Prices 
            where c.idsticker.Trim().ToUpper().Equals("GOOG") 
            select c; 
dataGridControl1.AutoCreateColumns = true; 
dataGridControl1.ItemsSource = query; 

除此之外,尝试使用SQL对数据库执行相同的查询。

select * from prices where idsticker = 'GOOG'