knightonline/server/shared/database/StartPositionSet.h

36 lines
1.1 KiB
C++

#pragma once
class CStartPositionSet : public OdbcRecordset
{
public:
CStartPositionSet(OdbcConnection * dbConnection, StartPositionArray * pMap)
: OdbcRecordset(dbConnection), m_pMap(pMap) {}
virtual tstring GetTableName() { return _T("START_POSITION"); }
virtual tstring GetColumns() { return _T("ZoneID, sKarusX, sKarusZ, sElmoradX, sElmoradZ, bRangeX, bRangeZ, sKarusGateX, sKarusGateZ, sElmoGateX, sElmoGateZ"); }
virtual bool Fetch()
{
_START_POSITION *pData = new _START_POSITION;
_dbCommand->FetchUInt16(1, pData->ZoneID);
_dbCommand->FetchUInt16(2, pData->sKarusX);
_dbCommand->FetchUInt16(3, pData->sKarusZ);
_dbCommand->FetchUInt16(4, pData->sElmoradX);
_dbCommand->FetchUInt16(5, pData->sElmoradZ);
_dbCommand->FetchByte (6, pData->bRangeX);
_dbCommand->FetchByte (7, pData->bRangeZ);
_dbCommand->FetchUInt16(8, pData->sKarusGateX);
_dbCommand->FetchUInt16(9, pData->sKarusGateZ);
_dbCommand->FetchUInt16(10, pData->sElmoradGateX);
_dbCommand->FetchUInt16(11, pData->sElmoradGateZ);
if (!m_pMap->PutData(pData->ZoneID, pData))
delete pData;
return true;
}
StartPositionArray *m_pMap;
};