菜鸟问个问题,关于ado的问题!?动态连接库的问题!在线等
__declspec(dllexport) void apply(char *instr_1,char *instr_2,char *instr_3,char *outstr_1,char *outstr_2,char *outstr_3)
{
CTime currentTime;
_ConnectionPtr pMyConnect=NULL;
HRESULT hr = pMyConnect.CreateInstance(__uuidof(Connection));
----〉 if( FAILED(hr) )
----〉 return;
_bstr_t strConnect="Provider=SQLOLEDB; Server=192.168.168.25;"
"Database=discount_card; uid=sa; pwd=sa;";
//connecting to the database server now:
try{pMyConnect->Open(strConnect,"","",NULL);}
catch (_com_error &e)
{
return;
}
_RecordsetPtr m_pRecordset;
if(!FAILED(m_pRecordset.CreateInstance( __uuidof( Recordset ))))
{
//m_pDoc->m_initialized=FALSE;
return;
}
try
{
m_pRecordset->Open(_variant_t("select * from discount_card"), _variant_t((IDispatch *)pMyConnect,true), adOpenKeyset, adLockOptimistic, adCmdTable);
}
catch (_com_error &e)
{
//afxMessageBox(NULL,"无法打开mytable表。","提示", MB_OK | MB_ICONWARNING);
return;
}
CString thistime,mobile,code;
currentTime=CTime::GetCurrentTime();
thistime.Format("%d-%d-%d %d:%d:%d",currentTime.GetYear(),currentTime.GetMonth(),
currentTime.GetDay(),currentTime.GetHour(),currentTime.GetMinute(),currentTime.GetSecond());
//memcpy(mobile,instr_2);
mobile=CString(instr_2);
//strcpy(code,instr_3);
code=CString(instr_3);
if(!m_pRecordset->Supports(adAddNew)) return;
m_pRecordset->AddNew();
m_pRecordset->Fields->GetItem(_variant_t("custom_time"))->Value=_bstr_t(thistime);
m_pRecordset->Fields->GetItem(_variant_t("mobile_code"))->Value=_bstr_t(mobile);
m_pRecordset->Fields->GetItem(_variant_t("code_id"))->Value=_bstr_t(code);
m_pRecordset->Update();
}
为什么每次运行都会在 if( FAILED(hr) ) return; 弹出。
为什么呢?很急啊。。。。谢谢~~~~,万分感谢!