MFC ADO查询Access数据库的有关问题

MFC ADO查询Access数据库的问题
try {
CString strSQL; 
strSQL.Format(_T("select * from SignInfo where SDay='%s'"),strtime); 
m_pRecordset->Open(strSQL.GetBuffer(), // 查询表中符合物理卡号的所有纪录 m_pConnection.GetInterfacePtr(),  
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e) 
{
MessageBox(e->ErrorMessage()); 
}

在调试的时候open语句总是出错,系统总是说未经处理的异常在_com_error处,然后系统就崩溃,有哪位大侠知道该怎么解决啊。小弟研究了好长时间也解决不了了

------解决方案--------------------
异常捕获改成这样试试,可以先用这个软件测试下SQL。
C/C++ code
try
{
//你的ADO代码
}
catch (_com_error& e)
{
CString strMsg;
strMsg.Format(_T("错误描述:%s\n错误消息%s"), 
        (LPCTSTR)e.Description(),
        (LPCTSTR)e.ErrorMessage());
AfxMessageBox(strMsg);
}

------解决方案--------------------
把连接字符串发出来看看
------解决方案--------------------
strSQL.GetBuffer()改成strSQL