大神为啥c++添加数据失败帮忙看看哈

大神为什么c++添加数据失败帮忙看看哈

登录可以但是添加不行
void CDlg1Name::OnOK() 
{
UpdateData(TRUE);
if((m_zhanghao.IsEmpty()) || (m_mima.IsEmpty())) 
{
MessageBox("账号或密码不能为空!");
return;
}
 _RecordsetPtr m_pRs;
// TODO: Add extra validation here
 m_Ado.OnInitADOConn();
 CString sql="select*from denglubiao where UserName='"+m_zhanghao+"'and[Password]='"+m_mima+"'";
 m_pRs=m_Ado.GetRecordSet((_bstr_t)sql);
if(!m_pRs->adoEOF) 
 {
 MessageBox("用户名已存在");
 return;
 }
try

m_pRs->AddNew();
m_pRs->PutCollect("UserName", (_bstr_t)m_zhanghao);
m_pRs->PutCollect("PassWord", (_bstr_t)m_mima);
m_pRs->Update();
m_Ado.ExecuteSQL((_bstr_t)sql);
m_Ado.ExitConn();
MessageBox("添加成功");
 
}
catch(...)
 {
 MessageBox("注册失败");  
 return;
 }

}
------解决思路----------------------
try
{
...
}
catch(_com_error& e)
{
e.Description();//查看具体错误
}

------解决思路----------------------
单步一下看那里出问题
------解决思路----------------------
先在数据库中测测你的sql语句有没有问题,再看看,数据有没有加载进来
------解决思路----------------------
请先在查询分析器中手动执行相关SQL语句,确认无误后,再在代码中运行,且最好在运行之前将对应SQL语句写到日志文件中。