2012-04-10 30 views
0

私は# of Studentsのような列を持つDataTableを持っており、これを降順でソートしたいと思います。ここに私のコードがあります:DataTable.Select()を使用して特殊文字を含む列にアクセスする方法?

... 
dt.Columns.Add(new DataColumn("# of Students", typeof(string))); 

// do some stuff... add records etc. 

// A runtime error occurs here: "Cannot find column '# of Students'" 
var rows = dt.Select("","'# of Students' desc"); 

// this is just fine. 
rows = dt.Select("","# of Students"); 

名前に特殊文字がある場合、この列にアクセスするにはどうしたらいいですか?

答えて

2

あなたはこのように、[]ブラケットを使用する必要があります。

var rows = dt.Select("","[# of Students] desc"); 
+0

男私はダミーです!それは私にはもっと明らかだったはずです。ありがとう! – DJTripleThreat

3

あなたは両方の[]または ``構文を使用することができます。次の両方のスニペットが正しい:

var rows = dt.Select("","`# of Students` desc"); 

var rows = dt.Select("","[# of Students] desc"); 
+0

バッククォートは私のためには機能しませんでした。おそらくこれは.NET 4.0の新機能ですか?私は3.5 – DJTripleThreat

+0

を実行していますはい、その4.0もの。ここにいくつかのmsdnの読み込み - http://msdn.microsoft.com/ru-ru/library/system.data.datacolumn.expression(v=vs.100).aspx構文の記述を比較するためのフレームワークのバージョンがあります。 – ILya

+0

オクラ、私は+1する:)ありがとう! – DJTripleThreat

関連する問題