簡體   English   中英

DateTimePicker不顯示所選日期

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM