#pragma once class CAchieveMonsterSet : public OdbcRecordset { public: CAchieveMonsterSet(OdbcConnection * dbConnection, AchieveMonsterArray * pMap) : OdbcRecordset(dbConnection), m_pMap(pMap) {} virtual tstring GetTableName() { return _T("ACHIEVE_MON"); } virtual tstring GetColumns() { return _T("oMainID, oType, oType2, oSsid1, oSsid2, oSsid3, oSsid4, oCount, oSsid5, oSsid6, oSsid7, oSsid8, oCount2"); } virtual bool Fetch() { auto pData = new _ACHIEVE_MONSTER; auto i = 1; _dbCommand->FetchUInt32(i++, pData->ID); _dbCommand->FetchByte(i++, pData->Unknow2); _dbCommand->FetchByte(i++, pData->Unknow3); for (size_t ii = 0; ii < 2; ii++) { for (size_t iii = 0; iii < 4; iii++) _dbCommand->FetchUInt32(i++, pData->MonsterID[ii][iii]); _dbCommand->FetchUInt32(i++, pData->MonsterCount[ii]); } if (!m_pMap->PutData(pData->ID, pData)) delete pData; return true; } AchieveMonsterArray * m_pMap; };