2011-07-06 34 views
0

我有以下代碼(即由日期時間過濾一個DataView):過濾日期時間在數據視圖不會過濾分鐘和第二

dv = new DataView(
     dataTable1, 
     "DateTime >= '" + Convert.ToDateTime("7/5/2011 9:21:00 AM") + "'", 
     "ID ASC", DataViewRowState.CurrentRows); 

我datatable1包括在DateTime列以下的數據:

  • 一個: 「2011/7/5上午9時20分59秒」
  • B: 「2011/7/5上午09時21分00秒」
  • C:「7/5/2011 9:21: 01 AM「
  • d: 「7/5/2011上午09時22分○○秒」

據稱,只有一個應該得到過濾。 但我的代碼具有Ç過濾,以及,只返回d

有什麼不對?

回答

1

嘗試用#封閉日期字符串。例如:

dv = new DataView(
     dataTable1, 
     "DateTime >= #" + Convert.ToDateTime("7/5/2011 9:21:00 AM") + "#", 
     "ID ASC", DataViewRowState.CurrentRows); 
+0

嘗試過你,我得到「該表達式包含無效的日期常量'#'。」 – KMC

+1

抱歉......如果您排除單引號,那麼該怎麼辦。 dv = new DataView(dataTable1,「DateTime> =#」+ Convert.ToDateTime(「7/5/2011 9:21:00 AM」)+「#」,「ID ASC」,DataViewRowState.CurrentRows); – c0deNinja

2

試試這個

dv = new DataView(
    dataTable1, 
    "CONVERT(DateTime, System.DateTime) >= '" + Convert.ToDateTime("7/5/2011 9:21:00 AM") + "'", 
    "ID ASC", DataViewRowState.CurrentRows); 
+0

@ c0deNinja,試過你和我「的表達式包含無效的日期不變‘#’。」 – KMC

+1

@KMC我試過你的例子,結果甚至有或沒有CONVERT(就像我說的),只有A被過濾。所以我想着你的行狀態,可能是他們被標記爲刪除。請仔細檢查! – longbkit

0

刪除convert.todatetime

你可以試試這個

String date1 =String.Empty ; 
date1 = "7/5/2011 9:21:00 AM"; 
dv = new DataView(dataTable1,"DateTime >= #" + date1 + "#", "ID ASC", DataViewRowState.CurrentRows);