C++用ADO连接ACESS数据库,出有关问题了,HELP

C++用ADO连接ACESS数据库,出问题了,急急急,HELP
这是在编辑框里面添加的EN_CHANGE 函数,但是编译,运行没报错,却在编辑框里面输入数据的时候报DEBUG 错误,数据库也建好了,连接也是OK的,我也用了try,catch,找了错误,但是没发现错误,求解。。。。
void CStuDlg::OnChangeEditStuid() 
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.


// TODO: Add your control notification handler code here
UpdateData(TRUE);
CString sql,str;
sql="select * from StuInfo where ID ='"+m_strID+"'";
m_pRecordset_stu.CreateInstance("ADODB.Recordset");
m_pRecordset_stu->Open((_variant_t)sql,_variant_t((IDispatch *)theApp.m_pConnection,true),adOpenDynamic,adLockPessimistic,adCmdText);
    if(m_pRecordset_stu->GetRecordCount()!=0)
{
    m_strID=m_pRecordset_stu->GetCollect("ID").bstrVal;
m_strName=m_pRecordset_stu->GetCollect("NAME").bstrVal;
m_strSex=m_pRecordset_stu->GetCollect("SEX").bstrVal;
m_strSpecial=m_pRecordset_stu->GetCollect("SPECIALITY").bstrVal;
m_strNative=m_pRecordset_stu->GetCollect("NATIVEPLACE").bstrVal;
str=m_pRecordset_stu->GetCollect("BIRTHDAY").bstrVal;
m_dateTime.SetFormat(str);
}
UpdateData(FALSE);

}

------解决思路----------------------
OnChangeEditStuid函数里面下断点,一行行运行,看哪一行报错,然后观察这一行的变量,哪个指针是空
------解决思路----------------------
sql的赋值有问题
------解决思路----------------------
单步调试一下,看哪行代码报的错误。
不定位出来报错行,怎么分析?!