2016-03-28 16 views
1

I持ってこの方法は私にエラーを与えるためフィルタリングする方法のDataTable

DataTable dataTable = ReportsBLL.GetProducts() as DataTable; 
HttpContext.Current.Cache["productinfokey"] = dataTable; 
System.Web.HttpContext.Current.Cache.Insert("productinfokey", dataTable, null, DateTime.Now.AddHours(1), System.Web.Caching.Cache.NoSlidingExpiration); 

は時々私は

dataTable.Select("CreateDate >= " + DateTime.Now.AddMonths(-3) + " and CreateDate <= " + DateTime.Now + "") 

としてDataTableをフィルタリングする必要がありますが、どのように私は、これらのプロパティでデータをフィルタリングすることができ、キャッシュに保存され、このデータテーブル

0から充填 Syntax error: Missing operand after '05' operator.

データテーブル

ここで何が間違っていますか?これをどのように解決できますか?

+0

構文が記述されている[ここ](https://msdn.microsoft .com/ja-us/library/system.data.datacolumn.expression(v = vs.110).aspx)。 –

答えて

1

この:

"CreateDate >= " + DateTime.Now.AddMonths(-3) 

はこのような何かを生成したい(もちろんのカルチャ設定に応じて、が、それはここでは重要ではありません):

構文エラーがある
CreateDate >= 12/28/2015 

。日付値は引用符でラップする必要があります

CreateDate >= '12/28/2015' 

ですから、文字列で、そのために考慮に入れる必要があるだろう:

"CreateDate >= '" + DateTime.Now.AddMonths(-3) + "'" 
関連する問題