0

質問がある場合

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

datagridは、table( `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はテーブル(idsticker varchar(10)SQLサーバー内)に存在します。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 に答える