线程里面写调用存储过程出现错误
//这是我的线程函数
unsigned __stdcall ThreadWirteBase(void * pThreadData)
{
if(pThreadData == NULL)
return 0;
CServerListCenter * pList = (CServerListCenter *) pThreadData ;
MSG msg;
PeekMessage(&msg, NULL, WM_USER, WM_USER, PM_NOREMOVE);
if(!SetEvent(pList->m_hStartMSGEvent))
{
return 0;
}
while(true)
{
if(GetMessage(&msg,0,0,0))
{
switch(msg.message)
{
case IDM_WRITE_ONLINECOUNT:
{
DWORD dwKindID = (DWORD)msg.wParam ;
DWORD dwOnLineCount = (DWORD)msg.lParam ;
while(::WaitForSingleObject(pList->m_hWriteEnd,0) == WAIT_TIMEOUT);
{
::ResetEvent(pList->m_hWriteEnd);
//错误的函数
pList->SaveOnlineCount(dwKindID,dwOnLineCount);
::SetEvent(pList->m_hWriteEnd);
}
break ;
}
case IDM_QUIT:
{
DeleteCriticalSection(&CServerListCenter::m_csNumLock);
return 0;
}
}
}
else
{
Sleep(0);
}
}
}
//出错的哪个函数
LONG CServerListCenter::SaveOnlineCount(DWORD dwKindID, DWORD dwCount)
{
//执行存储过程
//EnterCriticalSection(&CServerListCenter::m_csNumLock);
m_ServerInfoDB.GetInterface()->ClearAllParameters();
m_ServerInfoDB.GetInterface()->SetSPName("Gsp_AD_OnlineCount");
m_ServerInfoDB.GetInterface()->AddParamter(TEXT("RETURN_VALUE"),adParamReturnValue,adInteger,sizeof(long),_variant_t((long)0));
m_ServerInfoDB.GetInterface()->AddParamter(TEXT("@KindID"),adParamInput,adInteger,sizeof(long),_variant_t((long)dwKindID));
m_ServerInfoDB.GetInterface()->AddParamter(TEXT("@OnlineCount"),adParamInput,adInteger,sizeof(long),_variant_t((long)dwCount));
m_ServerInfoDB.GetInterface()->ExecuteCommand(true);
//LeaveCriticalSection(&CServerListCenter::m_csNumLock);
return m_ServerInfoDB.GetInterface()->GetReturnValue();
}
报的错误是
Runtime Error!
abnormal program termination
请各位大大帮我看下