应用于socket客户端的OnReceive中调用
if(p_sqlsvr->ConnectDB(DB_INFO_SQLLINK,p_wnd) == ERROR_FW_NOERROR)
{
p_sqlsvr->SMGRevInsert(g_revproc.getNum(),g_revproc.getContent());
p_sqlsvr->CloseDB();
}
p_sqlsvr连接函数:
ConnectDB(CString str, CWnd *pwnd)
{
HRESULT hr;
p_wnd=pwnd;hr= p_conptr.CreateInstance(__uuidof(Connection));
if(SUCCEEDED(p_conptr))
{
p_conptr->ConnectionTimeout = LINK_DB_TIMEOUT;
try{
hr = p_conptr->Open(
_bstr_t(str),
_bstr_t(L""),
_bstr_t(L""),
adModeUnknown);
if(!SUCCEEDED(hr))
{
p_wnd->SendMessage(WM_USER+0X100,OWN_MSG_DBLINKINFO,(ERROR_DB_OPEN+m_ThreadID*0x100));
return ERROR_DB_OPEN;
}
}catch(...)
{
p_wnd->SendMessage(WM_USER+0X100,OWN_MSG_DBLINKINFO,(ERROR_DB_OPEN+m_ThreadID*0x100));
return ERROR_DB_OPEN;
}
}
else
{
p_wnd->SendMessage(WM_USER+0X100,OWN_MSG_DBLINKINFO,(ERROR_DB_CONNECT+m_ThreadID*0x100));
return ERROR_DB_CONNECT;
}
//p_wnd->SendMessage(WM_USER+0X100,OWN_MSG_DBLINKINFO,(ERROR_FW_NOERROR+m_ThreadID*0x100));

p_conptr->CursorLocation = adUseClient;
return ERROR_FW_NOERROR;
}