我有一个.NET控件,它从SQL数据库中读取数据并将其显示在DataGridView中。我使用DateTimePicker来过滤两个日期之间的数据。我在同一个月内工作正常,例如,6月28日 - 6月30日,但是如果我将1月7日设置为结束日期,那么我就没有数据。日期作为日期时间存储在数据库中。你知道什么可能是错的吗?这是我更改值时DateTimePicker的代码。
private void dtpEndDate_ValueChanged(object sender, EventArgs e)
{
//dtpStartDate and dtpEndDate are my DateTimePickers
DateTime start = dtpStartDate.Value;
DateTime end = dtpEndDate.Value;
dateFilter = string.Format("([{0}] >= '{1}' AND [{0}] <= '{2}')", "Date", start, end);
dataTable.DefaultView.RowFilter = dateFilter;
}
答案 0 :(得分:0)
感谢帮助人员。这解决了这个问题:
private void dtpEndDate_ValueChanged(object sender, EventArgs e)
{
//dtpStartDate and dtpEndDate are my DateTimePickers
string start = Convert.ToDateTime(dtpStartDate.Value).ToString("yyyy-MM-dd HH:mm:ss.ff");
string end = Convert.ToDateTime(dtpEndDate.Value).ToString("yyyy-MM-dd HH:mm:ss.ff");
dateFilter = string.Format("([{0}] >= #{1}# AND [{0}] <= #{2}#)", "Date", start, end);
dataTable.DefaultView.RowFilter = dateFilter;
}