CString s = "Select * from roomtype where typeid='"+m_sTypeID+"'";m_pRecordset=m_pConnection->Execute(_variant_t(s).bstrVal, NULL, adCmdText);m_sTypeID为变量 为什么无法执行? 还有其他的方法查找吗?
u can trys.Format("Select * from roomtype where typeid='%s'",m_sTypeID); if(m_pRecordset->State==adStateOpen) m_pRecordset->Close(); m_pRecordset =m_pConnection->Execute(_bstr_t(s), NULL, adCmdText);
CString s = "Select * from roomtype where typeid=\'"+m_sTypeID+"\'";m_pRecordset=m_pConnection->Execute(_bstr_t(s).bstrVal, NULL, adCmdText);
m_pRecordset->Open((const _variant_t)sql, _variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
s.format("Select * from roomtype where typeid='%s',m_sTypeID);
m_pConnection->Execute(s);
if(!m_pRecordset->IsOpen())
{ CString s;
s.Format("Select * from roomtype where typeid='%s'",m_sTypeID);
m_pRecordset->open(AFX_DB_USE_DEFAULT_TYPE,s,CRecordset::readOnly);
}
m_pRecordset->Requery();
m_pRecordset =m_pConnection->Execute(_variant_t(s).bstrVal, NULL, adCmdText);
检测通过,运行时在这中断
是否由于我在前面已经打开了Recordset
try
{
}
catch()
{
}使用ADO开发的嘛?
如果是的话把最后一句改为,不需要返回值,如果出现问题,会抛掷异常到catch块中
m_pConnection->Execute(_bstr_t(s), NULL, adCmdText);
if(m_pRecordset->State==adStateOpen)
m_pRecordset->Close();
m_pRecordset =m_pConnection->Execute(_bstr_t(s), NULL, adCmdText);