私はかなり愚かであるが明らかに難しい何かに頭を悩ませています。
DataView dvFormula = dsFormula.Tables[0].DefaultView;
dvFormula.RowFilter = "'" + startDate.ToString("yyyyMMdd") + "' < EndDate OR EndDate = '19000101'";
dvFormula.Sort = "FromDate ASC";
結果は次のとおりです。
System.StringおよびSystem.DateTimeに対して「<」操作を実行できません。
この問題を解決する最善の方法を教えてください。
大変感謝いたします!
日付はアポストロフィではなく#で囲む必要があります。
dvFormula.RowFilter = "#" + startDate.ToString("MM/dd/yyyy") + "# < EndDate OR EndDate = #1/1/1900#";
これが解決策です。これを試して:
filter = " (Date >= #" +
Convert.ToDateTime(txtFromDate.Text).ToString("MM/dd/yyyy") +
"# And Date <= #" +
Convert.ToDateTime(txtToDate.Text).ToString("MM/dd/yyyy") +
"# ) ";
データプロバイダーによっては、日付を#
文字ではなく'
文字でエスケープする必要がある場合があります。さらに、日付が正しく日付として認識されるように、日付をYYYY-MM-DD
の形式でフォーマットします。