C# 用于在选定日期内选择数据的MS Access语句
我需要一条语句从MS Access数据库表中选择数据 在选定日期内 我的GUI中有两个文本框,分别是StartDate和EndDate 我想选择这两个日期内的数据 我试过两种方法 首先是C# 用于在选定日期内选择数据的MS Access语句,c#,ms-access,C#,Ms Access,我需要一条语句从MS Access数据库表中选择数据 在选定日期内 我的GUI中有两个文本框,分别是StartDate和EndDate 我想选择这两个日期内的数据 我试过两种方法 首先是 " DAY(V.RegDate) between " + Start.ToString("dd") + " and " + End.ToString("dd"); " and MONTH(V.RegDate) between " + Start.ToString("MM") + " and "
" DAY(V.RegDate) between " + Start.ToString("dd")
+ " and " + End.ToString("dd");
" and MONTH(V.RegDate) between " + Start.ToString("MM") + " and "
+ End.ToString("MM");
" and YEAR(V.RegDate) between " + Start.ToString("yyyy") + " and "
+ End.ToString("yyyy");
V.RegDate是数据库中的日期列
但是,当我选择2010年8月1日和2010年9月1日时,它不会返回任何数据,而在2010年8月25日有一些数据
我想那是因为我分别选择了日期,因为两个日期是相同的,
什么也没给我
我试过另一种方法
" V.RegDate between #" + Start.ToString("dd/MM/yyyy") + "# and #" _
+ End.ToString("dd/MM/yyyy") + "#";
这也没给我什么回报
有什么想法吗???这种模式适合我:
SELECT sometable.somedate
FROM sometable
WHERE (((sometable.somedate) Between #2/1/2010# And #4/1/2010#));
(在本例中是MDY,我通常更喜欢ISO ish样式-yyy/MM/DD,因为Access无法将其搞糟)
也许您已经使用美国默认的-MDY而不是英国(?)标准的DMY设置了日期。如果您在2010年1月1日到2010年1月31日之间进行选择,这种方法是可以的。。但如果您选择在2010年1月1日至2010年2月1日之间,则不确定。。如果您选择2010年8月1日至2010年9月9日,则这些r为dd/MM/yyyy格式。如果结束日期为2010年9月8日,则这些r不起作用。我的错。。如果b MM dd yyyyywhile Access对MM dd yyyyyy感到满意,我想您会发现yyyy-MM-dd可以在任何地方使用,并且在我们生活的小世界中不那么含糊。Jet/ACE SQL要求日期采用美国格式(m/d/y)或ISO one@Remou建议的明确格式(长日期是另一种格式,即日期(),“长期日期”))。