簡體   English   中英

如何使用DateTime列過濾DataTable?

[英]How I can filter a DataTable with DateTime Columns?

我想過濾一個數據表並且它可以工作,但是如果我搜索一個DateTime,我會得到一個錯誤。

這是我的代碼。 我做錯了什么?

 DataTable tb = DataBaseManager.GetRadiusDataTable(radiusconnectionstring, "marksullivan"); 

DataRow[] filteredRows = tb.Select("AcctStartTime LIKE '%" + searchstring + "%' OR AcctStopTime LIKE '%" + searchstring + "%' OR FramedIPAddress LIKE '%" + searchstring + "%'");
tb = filteredRows.CopyToDataTable();
this.ListView.DataSource = tb;
this.ListView.DataBind();

AcctStartTime:datetime AcctStopTime:datetime FramedIPAddress:varchar

The error: The Operation 'Like' could not to System.DateTime and System.String execute.

我怎樣才能做到這一點?

在RowFilter中嘗試這樣的DateComparision

 string filter = "DateFrom > '" + daDateFrom + "' AND DateTo <= '" + daDateTo + "'";
tb.Select(filter)

或來自DataRow過濾器的示例

日期值括在尖號##中。 日期格式與不變或英語區域性的DateTime.ToString()方法的結果相同。

[C#]

dataView.RowFilter = "Date = #12/31/2008#"          // date value (time is 00:00:00)
dataView.RowFilter = "Date = #2008-12-31#"          // also this format is supported
dataView.RowFilter = "Date = #12/31/2008 16:44:58#" // date and time value

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM