C#GridView,Combobox日期范围

时间:2015-03-27 05:05:43

标签: c# date gridview range

我在C#WinForms中的日期范围查询有问题。如果我选择03/26/2015作为开始日期,将2015年3月27日作为两个组合框的结束日期,则仅显示03/27/2015的所有数据,而不显示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);

1 个答案:

答案 0 :(得分:0)

即使使用DateTime格式化的CustomFormat格式为dateTimePicker.Value,也会采用DateTime格式而不是Date格式。所以你需要在SQL查询中转换DateTime才能解决你的问题。 (假设您已将patients.entry_datetime存储为SQL服务器中的DateTime

所以尝试像这样的SQL查询,

patients.entry_datetime >= CAST(@startDate AS DATE) 
AND patients.entry_datetime <= CAST(@endDate AS DATE)