35 lines
788 B
C++
35 lines
788 B
C++
#pragma once
|
|
|
|
class CUserItemSet : public OdbcRecordset
|
|
{
|
|
public:
|
|
CUserItemSet(OdbcConnection * dbConnection, UserItemArray * pMap)
|
|
: OdbcRecordset(dbConnection), m_pMap(pMap) {}
|
|
|
|
virtual tstring GetTableName() { return _T("USER_ITEMS"); }
|
|
virtual tstring GetColumns() { return _T("nItemID, nItemSerial"); }
|
|
|
|
virtual bool Fetch()
|
|
{
|
|
uint32 nItemID = _dbCommand->FetchUInt32(1);
|
|
uint64 nItemSerial = _dbCommand->FetchUInt64(2);
|
|
|
|
_USER_ITEM * pData = m_pMap->GetData(nItemID);
|
|
|
|
if (pData == nullptr)
|
|
{
|
|
pData = new _USER_ITEM;
|
|
pData->nItemID = nItemID;
|
|
pData->nItemSerial.push_back(nItemSerial);
|
|
|
|
if (!m_pMap->PutData(pData->nItemID,pData))
|
|
delete pData;
|
|
}
|
|
else
|
|
pData->nItemSerial.push_back(nItemSerial);
|
|
|
|
return true;
|
|
}
|
|
|
|
UserItemArray *m_pMap;
|
|
}; |