//加载列表 bool __cdecl CServerListCenter::LoadServerList(tagDataBaseInfo & DataBaseInfo) { //重置列表 ResetServerList(); //创建数据库 CDataBaseHelper ServerInfoDB; if (ServerInfoDB.CreateInstance()==false) return false; try { //转化地址 TCHAR szDataBaseAdr[16]=TEXT(""); BYTE * pcbDataBaseAdr=(BYTE *)&DataBaseInfo.dwDataBaseAddr; _snprintf(szDataBaseAdr,sizeof(szDataBaseAdr),TEXT("%d.%d.%d.%d"),pcbDataBaseAdr[0],pcbDataBaseAdr[1],pcbDataBaseAdr[2],pcbDataBaseAdr[3]); //连接数据库 ServerInfoDB->SetConnectionInfo(szDataBaseAdr,DataBaseInfo.wDataBasePort,DataBaseInfo.szDataBaseName,DataBaseInfo.szDataBaseUser,DataBaseInfo.szDataBasePass); if (ServerInfoDB->OpenConnection()==false) return false; //加载信息 LoadGameType(ServerInfoDB.GetInterface()); LoadGameKind(ServerInfoDB.GetInterface()); LoadGameStation(ServerInfoDB.GetInterface()); return true; } catch (IADOError * pIADOError) { ASSERT(m_pIEventService!=NULL); m_pIEventService->ShowEventNotify(pIADOError->GetErrorDescribe(),Level_Exception); } return false; }
//加载列表 bool __cdecl CServerListCenter::LoadServerList(tagDataBaseInfo & DataBaseInfo) { //重置列表 ResetServerList(); //创建数据库 CDataBaseAide ServerInfoDBAide; CDataBaseHelper ServerInfoDBModule; //创建对象 if (ServerInfoDBModule.CreateInstance()==false) { ASSERT(FALSE); return false; } try { //转化地址 TCHAR szDataBaseAdr[16]=TEXT(""); BYTE * pcbDataBaseAdr=(BYTE *)&DataBaseInfo.dwDataBaseAddr; _snprintf_s(szDataBaseAdr,sizeof(szDataBaseAdr),TEXT("%d.%d.%d.%d"),pcbDataBaseAdr[0],pcbDataBaseAdr[1],pcbDataBaseAdr[2],pcbDataBaseAdr[3]); //连接数据库 ServerInfoDBModule->SetConnectionInfo(szDataBaseAdr,DataBaseInfo.wDataBasePort,DataBaseInfo.szDataBaseName,DataBaseInfo.szDataBaseUser,DataBaseInfo.szDataBasePass); //发起连接 ServerInfoDBModule->OpenConnection(); ServerInfoDBAide.SetDataBase(ServerInfoDBModule.GetInterface()); //加载信息 LoadGameType(ServerInfoDBAide); LoadGameKind(ServerInfoDBAide); LoadGameStation(ServerInfoDBAide); return true; } catch (IDataBaseException * pIException) { //错误信息 LPCTSTR pszDescribe=pIException->GetExceptionDescribe(); CTraceService::TraceString(pszDescribe,TraceLevel_Exception); return false; } return false; }