数据表选择查询日期范围问题

时间:2015-08-31 18:28:36

标签: c#

我有一个数据表,我在其中使用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();

1 个答案:

答案 0 :(得分:-1)

您在此代码示例中所做的是定义表本身:您尚未添加任何数据行。 (在数据库表中,“field”和“column”几乎是同义词。)

在代码段的末尾,您可以创建行对象的实例 - 但不要为每列定义任何值。您调用Add()方法 - 但是要添加的行中没有任何内容。

添加数据(每条记录一行),那么您的记录数将不为零。