【发布时间】:2015-09-03 21:32:42
【问题描述】:
我有一个数据表,我在其中使用选择查询按日期范围选择值,但它返回 0 计数。我做错了什么?
这是我的代码:
string sUserName = "joe";
string Value = "4";
string sProcessStart = "2015-08-28 12:12:26 PM";
string sProcessEnd = "2015-08-28 12:29:26 PM";
DataTable dtDLCD = new DataTable();
DataColumn dtcolumn = new DataColumn("UserName");
dtcolumn.DefaultValue = "joe";
dtDLCD.Columns.Add(dtcolumn);
DataColumn dtcolumn1 = new DataColumn("Value");
dtcolumn1.DefaultValue = "4";
dtDLCD.Columns.Add(dtcolumn1);
DataColumn dtcolumn3 = new DataColumn("StartDate");
dtcolumn3.DefaultValue = "2015-08-28 12:20:26 PM";
dtDLCD.Columns.Add(dtcolumn3);
DataColumn dtcolumn4 = new DataColumn("EndDate");
dtcolumn4.DefaultValue = "2015-08-28 12:29:26 PM";
dtDLCD.Columns.Add(dtcolumn4);
DataRow drow = dtDLCD.NewRow();
dtDLCD.Rows.Add(drow);
DataRow[] drDocDetails = dtDLCD.Select("UserName = '" + sUserName +
"' AND Value = '" + Value +
"' AND StartDate >= '" + Convert.ToDateTime(sProcessStart).ToString("yyyy-MM-dd hh:mm:ss tt") +
"' AND EndDate <= '" + Convert.ToDateTime(sProcessEnd).ToString("yyyy-MM-dd hh:mm:ss tt") + "'");
int count = drDocDetails.Count();
【问题讨论】:
-
重新格式化代码块
-
您确定没有此处未显示的代码正在修改计数变量吗?当我运行它时,它对我来说很好。
-
别忘了声明列类型:
dtcolumn3.DataType = typeof(DateTime); -
正如@mjw 所说,所示代码有效。 dotnetfiddle.net/70ey3g
标签: c#