【问题标题】:DateTimePicker don't show selected dateDateTimePicker 不显示所选日期
【发布时间】:2016-10-19 06:54:13
【问题描述】:
 var dtp = dateTimePicker1.Value.Date;
 var dtp2 = dateTimePicker2.Value.Date ;

SqlDataAdapter da1 = new SqlDataAdapter("SELECT * FROM Tabledbstatus WHERE Date BETWEEN'" + dateTimePicker1.Value.ToString() + "' and '" + dateTimePicker2.Value.ToString() + "'", conn);

da1.Fill(ds1, "TS1"); 

dv1 = new DataView(ds1.Tables["TS1"]);

dataGridView1.DataSource = ds1.Tables["TS1"];

示例:我选择日期 01-09-2016 到 03-09-2016 不显示日期 01-09-2016 但显示 02-09-2016 到 03-09-2016

* 我想显示日期 01-09-2016 到 03-09-2016 *

【问题讨论】:

  • 尝试在子句上使用 dateTimePicker(x).Value.Date.ToString(),DateTimePicker 选择日期和时间,尝试只使用日期部分。
  • 你试过dtp.AddDays (-1.0); 吗?这将使您的第一个日期减去一天,因此 02-09-2016 将是 01-09-2016
  • 我试过 dtp.AddDays (-1.0);值为空

标签: c# sql-server sql-server-2008 c#-4.0


【解决方案1】:

这可能会导致日期时间字段,您应该尝试选择从到添加小时的日期。

SqlDataAdapter da1 = new SqlDataAdapter("SELECT * FROM Tabledbstatus WHERE Date BETWEEN'" + dateTimePicker1.Value.ToString() + " 00:00:00' and '" + dateTimePicker2.Value.ToString() + " 23:59:59'", conn);

编辑: 因为它在第一次约会时给你带来了问题,你可以尝试这样的事情:

// after line
var dtp = dateTimePicker1.Value.Date;
// add 
dtp = dtp.AddDays(-1.0);

【讨论】:

  • 在您的帖子评论中查看 Mark Benovsky 的回答。如果这是问题所在,他是对的。
  • dtp = dtp.AddDays(-1.0); - 试试这个。
【解决方案2】:

你可以更改这行代码:

SqlDataAdapter da1 = new SqlDataAdapter("SELECT * FROM Tabledbstatus WHERE Date BETWEEN'" + dateTimePicker1.Value.ToString() + "' and '" + dateTimePicker2.Value.ToString() + "'", conn);

SqlDataAdapter da1 = new SqlDataAdapter("SELECT * FROM Tabledbstatus WHERE Date BETWEEN'" + dateTimePicker1.Value.Date.ToString() + "' and '" + dateTimePicker2.Value.Date.AddDays(1).ToString() + "'", conn);

如果您为 dateTimePicker1 选择 01-09-2016 并为 dateTimePicker2 选择 03-09-2016,它将获得 01-09-2016 00.00.00 AM 到 04-09-2016 00.00.00 AM 之间的值

【讨论】:

  • 我尝试在 01-09-2016 00.00.00 AM 到 04-09-2016 00.00.00 AM 从选择 01-09-2016 到 03-09-2016 之间获取价值,但我想在 01-09-2016 00.00.00 AM 到 03-09-2016 00.00.00 AM 之间选择 01-09-2016 到 03-09-2016 可能吗?谢谢
  • 因此,您在查询中使用 dateTimePicker2.Value.Date.ToString() 而不是 dateTimePicker2.Value.Date.AddDays(1).ToString()。
猜你喜欢
  • 1970-01-01
  • 2021-06-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-06
  • 1970-01-01
  • 1970-01-01
  • 2015-08-20
  • 2018-05-18
相关资源
最近更新 更多