我有一个数据表,我在其中使用select查询按日期范围选择值,但它返回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();
答案 0 :(得分:-1)
您在此代码示例中所做的是定义表本身:您尚未添加任何数据行。 (在数据库表中,“field”和“column”几乎是同义词。)
在代码段的末尾,您可以创建行对象的实例 - 但不要为每列定义任何值。您调用Add()方法 - 但是要添加的行中没有任何内容。
添加数据(每条记录一行),那么您的记录数将不为零。