本文整理汇总了C++中DBResultRow::GetBool方法的典型用法代码示例。如果您正苦于以下问题:C++ DBResultRow::GetBool方法的具体用法?C++ DBResultRow::GetBool怎么用?C++ DBResultRow::GetBool使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DBResultRow
的用法示例。
在下文中一共展示了DBResultRow::GetBool方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: codelog
//this is a crap load of work... there HAS to be a better way to do this..
PyRep *MarketDB::GetMarketGroups() {
DBQueryResult res;
DBResultRow row;
if(!sDatabase.RunQuery(res,
"SELECT * "
" FROM invMarketGroups"))
{
codelog(MARKET__ERROR, "Error in query: %s", res.error.c_str());
return NULL;
}
DBRowDescriptor *header = new DBRowDescriptor(res);
CFilterRowSet *filterRowset = new CFilterRowSet(&header);
PyDict *keywords = filterRowset->GetKeywords();
keywords->SetItemString("giveMeSets", new PyBool(false)); //+
keywords->SetItemString("allowDuplicateCompoundKeys", new PyBool(false)); //+
keywords->SetItemString("indexName", new PyNone); //+
keywords->SetItemString("columnName", new PyString("parentGroupID")); //+
std::map< int, PyRep* > tt;
while( res.GetRow(row) )
{
int parentGroupID = ( row.IsNull( 0 ) ? -1 : row.GetUInt( 0 ) );
PyRep *pid;
CRowSet *rowset;
if(tt.count(parentGroupID) == 0) {
pid = parentGroupID!=-1 ? (PyRep*)new PyInt(parentGroupID) : (PyRep*)new PyNone();
tt.insert( std::pair<int, PyRep*>(parentGroupID, pid) );
rowset = filterRowset->NewRowset(pid);
} else {
pid = tt[parentGroupID];
rowset = filterRowset->GetRowset(pid);
}
PyPackedRow* pyrow = rowset->NewRow();
pyrow->SetField((uint32)0, pid); //prentGroupID
pyrow->SetField(1, new PyInt(row.GetUInt( 1 ) ) ); //marketGroupID
pyrow->SetField(2, new PyString(row.GetText( 2 ) ) ); //marketGroupName
pyrow->SetField(3, new PyString(row.GetText( 3 ) ) ); //description
pyrow->SetField(4, row.IsNull( 4 ) ?
(PyRep*)(new PyNone()) : new PyInt(row.GetUInt( 4 )) ); //graphicID
pyrow->SetField(5, new PyBool(row.GetBool( 5 ) ) ); //hasTypes
pyrow->SetField(6, row.IsNull( 6 ) ?
(PyRep*)(new PyNone()) : new PyInt(row.GetUInt( 6 )) ); // iconID
pyrow->SetField(7, new PyInt( row.GetUInt(7) ) ); //dataID
pyrow->SetField(8, new PyInt( row.GetUInt(8) ) ); //marketGroupNameID
pyrow->SetField(9, new PyInt( row.GetUInt(9) ) ); //descriptionID
}
return filterRowset;
}
示例2: GetAccountInformation
bool ServiceDB::GetAccountInformation( const char* username, const char* password, AccountInfo & account_info )
{
std::string _username = username;
std::string _escaped_username;
DBcore::DoEscapeString(_escaped_username, _username);
DBQueryResult res;
if (!DBcore::RunQuery(res, "SELECT accountID, password, hash, role, online, banned, logonCount, lastLogin FROM srvAccount WHERE accountName = '%s'", _escaped_username.c_str()))
{
SysLog::Error( "ServiceDB", "Error in query: %s.", res.error.c_str() );
return false;
}
DBResultRow row;
if (!res.GetRow( row )) {
// account not found, create new one if autoAccountRole is not zero (0)
if(EVEServerConfig::account.autoAccountRole > 0) {
uint32 accountID = CreateNewAccount( _username.c_str(), password, EVEServerConfig::account.autoAccountRole);
if( accountID > 0 ) {
// add new account successful, get account info again
bool ret = GetAccountInformation(username, password, account_info);
return ret;
}
else
return false;
}
else
return false;
}
/* when any of the text gets are NULL it will fail... I think.. */
account_info.id = row.GetUInt(0);
if (!row.IsNull(1))
account_info.password = row.GetText(1);
if (!row.IsNull(2))
account_info.hash = row.GetText(2);
account_info.name = _escaped_username;
account_info.role = row.GetUInt64(3);
account_info.online = row.GetBool(4);
account_info.banned = row.GetBool(5);
account_info.visits = row.GetUInt(6);
if (!row.IsNull(7))
account_info.last_login = row.GetText(7);
return true;
}
示例3: loadStaStationTypes
bool EVEStatic::loadStaStationTypes()
{
DBQueryResult result;
DBResultRow row;
std::string columns = "stationTypeID, dockEntryX, dockEntryY, dockEntryZ,"
" dockOrientationX, dockOrientationY, dockOrientationZ,"
" operationID, officeSlots, reprocessingEfficiency, conquerable,"
" dockingBayGraphicID, hangarGraphicID";
std::string qry = "SELECT " + columns + " FROM staStationTypes LEFT JOIN extStaStationTypes Using(stationTypeID)";
if (!DBcore::RunQuery(result, qry.c_str()))
{
SysLog::Error("Static DB", "Error in query: %s", result.error.c_str());
return false;
}
while (result.GetRow(row))
{
uint32 stationTypeID = row.GetInt(0);
double dockEntryX = row.GetDouble(1);
double dockEntryY = row.GetDouble(2);
double dockEntryZ = row.GetDouble(3);
double dockOrientationX = row.GetDouble(4);
double dockOrientationY = row.GetDouble(5);
double dockOrientationZ = row.GetDouble(6);
uint32 operationID = row.getIntNC(7);
uint32 officeSlots = row.getIntNC(8);
double reprocessingEfficiency = row.getDoubleNC(9);
bool conquerable = row.GetBool(10);
// From extStaStationTypes
uint32 dockingBayGraphicID = row.getIntNC(11);
uint32 hangarGraphicID = row.getIntNC(12);
new StaStationType(
stationTypeID,
dockEntryX,
dockEntryY,
dockEntryZ,
dockOrientationX,
dockOrientationY,
dockOrientationZ,
operationID,
officeSlots,
reprocessingEfficiency,
conquerable,
dockingBayGraphicID,
hangarGraphicID
);
}
return true;
}
示例4: GetCharacterSkillsTrained
bool APICharacterDB::GetCharacterSkillsTrained(uint32 characterID, std::vector<std::string> & skillTypeIDList, std::vector<std::string> & skillPointsList,
std::vector<std::string> & skillLevelList, std::vector<std::string> & skillPublishedList)
{
DBQueryResult res;
// Get list of characters and their corporation info from the accountID:
if( !sDatabase.RunQuery(res,
" SELECT "
" entity.itemID, "
" entity.typeID, "
" entity_attributes.attributeID, "
" entity_attributes.valueInt, "
" entity_attributes.valueFloat, "
" invTypes.groupID, "
" invTypes.published, "
" invGroups.categoryID "
" FROM `entity` "
" LEFT JOIN entity_attributes ON entity_attributes.itemID = entity.itemID "
" LEFT JOIN invTypes ON invTypes.typeID = entity.typeID "
" LEFT JOIN invGroups ON invGroups.groupID = invTypes.groupID "
" WHERE `ownerID` = %u AND invGroups.categoryID = 16 ", characterID ))
{
sLog.Error( "APIAccountDB::GetCharacterSkillsTrained()", "Cannot find characterID %u", characterID );
return false;
}
uint32 prevTypeID = 0;
bool gotSkillPoints = false;
bool gotSkillLevel = false;
DBResultRow row;
std::map<std::string, std::string> charInfo;
while( res.GetRow( row ) )
{
if( prevTypeID != row.GetUInt(1) )
{
if( (!gotSkillPoints) && (prevTypeID != 0) )
skillPointsList.push_back( std::string("0") );
if( (!gotSkillLevel) && (prevTypeID != 0) )
skillLevelList.push_back( std::string("0") );
gotSkillPoints = false;
gotSkillLevel = false;
skillTypeIDList.push_back( std::string(row.GetText(1)) );
skillPublishedList.push_back( std::string(itoa(row.GetBool(6) ? 1 : 0)) );
}
prevTypeID = row.GetUInt(1);
if( row.GetUInt(2) == AttrSkillPoints )
{
gotSkillPoints = true;
if( row.GetText(3) == NULL )
// Get value from 'entity_attributes' table 'valueFloat' column since 'valueInt' contains 'NULL'
skillPointsList.push_back( std::string((row.GetText(4) == NULL ? "0.0" : itoa((uint32)(row.GetFloat(4))))) );
else
// Get value from 'entity_attributes' table 'valueInt' column since it does not contain 'NULL'
skillPointsList.push_back( std::string((row.GetText(3) == NULL ? "0" : row.GetText(3))) );
}
if( row.GetUInt(2) == AttrSkillLevel )
{
gotSkillLevel = true;
if( row.GetText(3) == NULL )
// Get value from 'entity_attributes' table 'valueFloat' column since 'valueInt' contains 'NULL'
skillLevelList.push_back( std::string((row.GetText(4) == NULL ? "0.0" : itoa((uint32)(row.GetFloat(4))))) );
else
// Get value from 'entity_attributes' table 'valueInt' column since it does not contain 'NULL'
skillLevelList.push_back( std::string((row.GetText(3) == NULL ? "0" : row.GetText(3))) );
}
}
return true;
}