如何使用日期时间列过滤数据表
本文关键字:过滤 数据表 时间 何使用 日期 | 更新日期: 2023-09-27 17:55:31
我想过滤一个数据表并且它可以工作,但是如果我搜索日期时间,我会得到一个错误。
这是我的代码。我做错了什么?
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();
开始时间:日期时间AcctStopTime :d atetime装裱IPAddress : varchar
The error: The Operation 'Like' could not to System.DateTime and System.String execute.
我该怎么做?
在 RowFilter 中尝试这样做日期比较
string filter = $"DateFrom > '{daDateFrom}' AND DateTo <= '{daDateTo}'";
tb.Select(filter)
或来自数据行筛选器示例
日期值括在尖锐字符 # # 中。日期格式与 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