0

如果我有疑问

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;

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

怎么了?

4

1 回答 1

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'
于 2012-07-07T00:18:08.400 回答