C# 使用C从access数据库检索两个特定日期之间的数据

C# 使用C从access数据库检索两个特定日期之间的数据,c#,sql,C#,Sql,我正在寻找一个C语言中access数据库的特定查询,以获取两个日期之间的数据,尽管数据库中并没有开始日期和结束日期 这是我的代码: sql = "Select Working_Date From Attendance where Format(Working_Date,'Short date') BETWEEN#" + dateTimePicker2.Value.Date + "#AND#" + dateTimePicker1.Value.Date + "#";

我正在寻找一个C语言中access数据库的特定查询,以获取两个日期之间的数据,尽管数据库中并没有开始日期和结束日期

这是我的代码:

sql = "Select Working_Date From Attendance
   where Format(Working_Date,'Short date') BETWEEN#" 
   + dateTimePicker2.Value.Date 
   + "#AND#" 
   + dateTimePicker1.Value.Date + "#";

感谢您的快速回复

我有一个access数据库,其工作日期字段的数据类型为员工每日出勤的日期/时间。 我希望看到员工在两个具体日期(每月一次)之间出现,例如2015年1月25日至2015年2月25日 当我对第一个月(如2015年1月1日和2015年1月30日)执行以下查询时,它会给出正确的结果,但当我将开始日期和结束日期更改为2015年2月1日和2015年2月28日时,它会显示包括1月份在内的记录。 sql=从考勤中选择[Working_Date],其中[Working_Date]介于+dateTimePicker1.Value.Date+和+dateTimePicker2.Value.Date+之间

据我所知,日期的格式有一些问题,但我仍然无法解决这个问题。
谢谢大家,我找到了解决方案,日期的格式有问题

我在Ms access中使用了以下带有中间日期格式的查询

sql = "Select User_Name,Shift,Format(Working_Date,'dd-MMM-yyyy') as
Working_Date,In_Time,Out_Time,Attendance,Working_Hrs,Department From Attendance
where [User_Name]=('" + Login_Frm.User_Name + "') AND [Department]=('" + 
Dpt_ID.Text + "') AND Working_Date BETWEEN#" + dateTimePicker1.Text + "#AND#" + 
dateTimePicker2.Text +"# ORDER BY [EMP_ID]";

感谢您的大力帮助

尽管数据库中没有开始和结束日期,或者现有代码的结果是什么,但您的意思一点也不清楚。我强烈建议a不要在不需要的地方使用字符串;b但是使用参数化SQL。预期的结果是什么?你的数据库里有什么?出了什么问题?值得一提的是,阅读您的查询时,datetimepicker2是否作为开始日期,datepicker1是否作为结束日期?你确定它们的排列顺序没有错吗?你可以像这样给它们留出空间。这也会产生问题