knightonline/server/shared/database/MagicTableSet.h

46 lines
1.7 KiB
C++

#pragma once
class CMagicTableSet : public OdbcRecordset
{
public:
CMagicTableSet(OdbcConnection * dbConnection, MagictableArray * pMap)
: OdbcRecordset(dbConnection), m_pMap(pMap) {}
virtual tstring GetTableName() { return _T("MAGIC"); }
virtual tstring GetColumns() { return _T("MagicNum, BeforeAction, TargetAction, SelfEffect, FlyingEffect, TargetEffect, Moral, SkillLevel, Skill, Msp, HP, ItemGroup, UseItem, CastTime, ReCastTime, SuccessRate, Type1, Type2, Range, UseStanding, Etc"); }
virtual bool Fetch()
{
_MAGIC_TABLE *pData = new _MAGIC_TABLE;
int i = 1;
_dbCommand->FetchUInt32(i++, pData->iNum);
_dbCommand->FetchUInt32(i++, pData->nBeforeAction);
_dbCommand->FetchByte(i++, pData->bTargetAction);
_dbCommand->FetchByte(i++, pData->bSelfEffect);
_dbCommand->FetchUInt16(i++, pData->bFlyingEffect);
_dbCommand->FetchUInt16(i++, pData->iTargetEffect);
_dbCommand->FetchByte(i++, pData->bMoral);
_dbCommand->FetchUInt16(i++, pData->sSkillLevel);
_dbCommand->FetchUInt16(i++, pData->sSkill);
_dbCommand->FetchUInt16(i++, pData->sMsp);
_dbCommand->FetchUInt16(i++, pData->sHP);
_dbCommand->FetchByte(i++, pData->bItemGroup);
_dbCommand->FetchUInt32(i++, pData->iUseItem);
_dbCommand->FetchByte(i++, pData->bCastTime);
_dbCommand->FetchUInt16(i++, pData->sReCastTime);
_dbCommand->FetchByte(i++, pData->bSuccessRate);
_dbCommand->FetchByte(i++, pData->bType[0]);
_dbCommand->FetchByte(i++, pData->bType[1]);
_dbCommand->FetchUInt16(i++, pData->sRange);
_dbCommand->FetchByte(i++, pData->sUseStanding);
_dbCommand->FetchUInt16(i++, pData->sEtc);
if (!m_pMap->PutData(pData->iNum, pData))
delete pData;
return true;
}
MagictableArray *m_pMap;
};