37 lines
1.2 KiB
C++
37 lines
1.2 KiB
C++
#pragma once
|
|
|
|
class CItemUpgradeSet : public OdbcRecordset
|
|
{
|
|
public:
|
|
CItemUpgradeSet(OdbcConnection * dbConnection, ItemUpgradeArray * pMap)
|
|
: OdbcRecordset(dbConnection), m_pMap(pMap) {}
|
|
|
|
virtual tstring GetTableName() { return _T("ITEM_UPGRADE"); }
|
|
virtual tstring GetColumns() { return _T("nIndex, nNPCNum, nOriginType, nOriginItem, "
|
|
"nReqItem1, nReqItem2, nReqItem3, nReqItem4, nReqItem5, nReqItem6, nReqItem7, nReqItem8, "
|
|
"nReqNoah, bRateType, nGenRate, nGiveItem"); }
|
|
|
|
virtual bool Fetch()
|
|
{
|
|
_ITEM_UPGRADE *pData = new _ITEM_UPGRADE;
|
|
|
|
int i = 1;
|
|
_dbCommand->FetchUInt32(i++, pData->nIndex);
|
|
_dbCommand->FetchUInt16(i++, pData->sNpcNum);
|
|
_dbCommand->FetchSByte(i++, pData->bOriginType);
|
|
_dbCommand->FetchUInt16(i++, pData->sOriginItem);
|
|
for (int x = 0; x < MAX_ITEMS_REQ_FOR_UPGRADE; x++)
|
|
_dbCommand->FetchUInt32(i++, pData->nReqItem[x]);
|
|
_dbCommand->FetchUInt32(i++, pData->nReqNoah);
|
|
_dbCommand->FetchByte(i++, pData->bRateType);
|
|
_dbCommand->FetchUInt16(i++, pData->sGenRate);
|
|
_dbCommand->FetchInt32(i++, pData->nGiveItem);
|
|
|
|
if (!m_pMap->PutData(pData->nIndex, pData))
|
|
delete pData;
|
|
|
|
return true;
|
|
}
|
|
|
|
ItemUpgradeArray *m_pMap;
|
|
}; |