首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

MFC_ADO_查询有关问题

2012-06-28 
MFC_ADO_查询问题!CString strSQL,strtemstrSQL.Format(select * from users where address %s,m_a

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);} 

热点排行