MFC_ADO_查询问题!
CString strSQL,strtem;
strSQL.Format("select * from users where address = '%s'",m_address);
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open((_bstr_t)strSQL,_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
if(!m_pRecordset->adoEOF)
{
m_pRecordset->Close();
m_pRecordset.Release();
::MessageBox(NULL,_T("记录已存在,请检查!"),_T("添加失败"),MB_OK|MB_ICONWARNING);
//return;
}
这一段是防止重复添加。不加这段就不会出错,但会重复添加。
把那句改成这样据不会出错。但是一点都不行了。加个了条件怎么就不行了呢?
strSQL.Format("select * from users);
[解决办法]
报什么错?
[解决办法]
你跟踪一下strSQL在格式化后的值是多少,m_address是CString类型不,address是不是表里面的列名称……
[解决办法]
加异常捕获看是什么错误
- 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);}