从access中读查询在于两个日期之间条目 出错

从access中读查询介于两个日期之间条目 出错
这本来是个较常规的问题,但是出问题了!!!
为了验证select是否有效,但设日期为固定值,代码如下:
strsql="select * from data1 where day between '2013-6-30' and '2013-7-15'" ;
m_pRecordset1->Open((_variant_t)strsql,_variant_t((IDispatch*)m_pConnection1,true),adOpenDynamic,adLockOptimistic,adCmdText);
但执行到open时出现
unhandled exception in XXX.exe:0xC0000005:Access Violation
try{}catch{}没捕捉到错误

select语句这样写应该没问题吧?
日期数据已经存储数据进去,并且关闭
strDate.Format("%d-%d-%d",year,month,date);
_variant_t   vDate=_variant_t(strDate); 
vDate.ChangeType(VT_DATE);

mdb中存储的格式为2013/7/12这个样式,跟这个也没关系吧



------解决方案--------------------
可以用ADO助手测试下SQL。
select * from data1 where day between #06/30/2013# and #07/15/2013#