MFC 在ADO模式下连接SQL数据库修改、删除操作运行时出错runtime error

MFC 在ADO方式下连接SQL数据库修改、删除操作运行时出错runtime error
void CStudentDlg::OnBtnModify() //修改操作
{
Adosql adosql;
adosql.OnInitADOConn();
UpdateData();
try
{
CString Modify;
Modify= "Update student set Snumber ='"+m_sNumber+"',Sname ='"+m_sName+"',Ssex ='"+m_sSex+
"'where Snumber='"+m_index+"'";
                    //m_sNumber,m_sName,m_sSex是定义的变量名

adosql.m_pRecordset.CreateInstance(__uuidof(Recordset));
adosql.m_pRecordset->Open((_variant_t)Modify,adosql.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
AfxMessageBox("修改成功!");
}
    catch (_com_error e)
{
CString errormessage;
errormessage.Format("修改失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);

}
adosql.ExitConnect();
}
//////////////////////修改成功 但是修改完成后会出现一个runtime error
void CStudentDlg::OnBtnDelete() 
{
// TODO: Add your control notification handler code here
Adosql adosql;
adosql.OnInitADOConn();

try
{
_variant_t RecordsAffected;
_bstr_t Delete;

                  m_cindex.GetWindowText(m_index);//m_cindex 控件变量 m_index绑定的CString变量
Delete="delete from student where Snumber='"+m_index+"'";
adosql.m_pRecordset = adosql.m_pConnection->Execute(Delete,&RecordsAffected,adCmdText);
AfxMessageBox("删除成功!");
//清空输入框
m_cindex.SetSel(0,-1);   
        m_cindex.Clear();
}
catch (_com_error e)
{
CString errormessage;
errormessage.Format("删除失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);
}
adosql.ExitConnect();
}
//////////////////////删除成功,同样是runtime error,求高手解答
------解决方案--------------------


adosql.m_pConnection->Execute(_bstr_t(Delete), NULL, adExecuteNoRecords);

用_bstr_t 将字符串转换一下
------解决方案--------------------
楼主使用了try catch,看看捕获到的错误信息是啥