【发布时间】:2015-05-31 08:47:03
【问题描述】:
我在 C# WinForms 中的日期范围查询有问题。如果我在两个组合框中选择 2015 年 3 月 26 日作为开始日期,2015 年 3 月 27 日作为结束日期,它只显示 2015 年 3 月 27 日的所有数据,而不显示 2015 年 3 月 26 日到 03 日的数据/27/2015。
代码如下:
DateTime date = DateTime.Now;
dateTimePicker.Value = date;
dateTimePicker.Format = DateTimePickerFormat.Custom;
dateTimePicker.CustomFormat = "MM/dd/yyyy";
DateTime date2 = DateTime.Now;
dateTimePicker2.Value = date2;
dateTimePicker2.Format = DateTimePickerFormat.Custom;
dateTimePicker2.CustomFormat = "MM/dd/yyyy";
SQL
patients.entry_datetime >= @startDate and patients.entry_datetime <= @endDate
cmd.Parameters.AddWithValue("@startDate", dateTimePicker.Value);
cmd.Parameters.AddWithValue("@endDate", dateTimePicker2.Value);
【问题讨论】:
-
您正在为两个日期字段分配 DateTime.Now。
-
我已经尝试过了,我得到了相同的结果
codedateTimePicker.Format = DateTimePickerFormat.Custom; dateTimePicker.CustomFormat = "MM/dd/yyyy"; dateTimePicker2.Format = DateTimePickerFormat.Custom; dateTimePicker2.CustomFormat = "MM/dd/yyyy";code -
所以你需要将日期传递给 SQL 而不是时间?
-
将日期转换为日期时间,并在 sql 中使用 datetime 参数。它将被自动处理。