c#按日期选择的数据集在1月1日不起作用

时间:2014-09-10 12:06:28

标签: c# dataset

我通过dateFrom和dateTo:

查询DataSet
var query =  string.Format("Date >= '{0}' AND Date <= '{1}'", dateFrom, dateTo);
var resultRows = myDataSet.Tables[0].Select(query);

除了1月1日之外,它适用于所有可能的日期。

知道为什么吗?

编辑:

我试过了两个:

DateTime dateFrom
DateTime dateTo

string dateFromAsString = dateFrom.ToString("dd/MM/yyyy HH:mm:ss");

string dateToAsString = dateTo.ToString("dd/MM/yyyy HH:mm:ss");

两次该程序都没有返回1月1日的任何数据行。如果我将我正在过滤DataSet的日期与任何其他日期(1月1日)相关联,程序将按预期返回数据行。

1 个答案:

答案 0 :(得分:1)

问题肯定存在于代码中dateFromdateTo的问题 下面的示例代码工作正常,并返回所有三行。

var myDataSet = new DataSet();

myDataSet.Tables.Add();
myDataSet.Tables[0].Columns.Add("Date", typeof (DateTime));
myDataSet.Tables[0].Columns.Add("Value", typeof(string));

myDataSet.Tables[0].Rows.Add(DateTime.Today, "1");
myDataSet.Tables[0].Rows.Add(new DateTime(2014, 1, 1), "2");
myDataSet.Tables[0].Rows.Add(new DateTime(2013, 12, 31), "3");

var dateFrom = new DateTime(2013, 1, 1);
var dateTo = DateTime.Today;

string query = string.Format("Date >= '{0}' AND Date <= '{1}'", dateFrom, dateTo);
var resultRows = myDataSet.Tables[0].Select(query);