![](/img/trans.png)
[英]DateTimePicker control - Show “Please select a date” when no date is selected
[英]DateTimePicker don't show selected date
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/2016
*我想顯示日期01-09-2016至2016/03/09 *
您可以更改以下代碼行:
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之間的值。
這可能會導致datetime字段,您應嘗試選擇從到的日期添加小時數。
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.