本文整理汇总了C++中DBResultRow::GetFloat方法的典型用法代码示例。如果您正苦于以下问题:C++ DBResultRow::GetFloat方法的具体用法?C++ DBResultRow::GetFloat怎么用?C++ DBResultRow::GetFloat使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DBResultRow
的用法示例。
在下文中一共展示了DBResultRow::GetFloat方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetRequiredItems
bool RamProxyDB::GetRequiredItems(const uint32 typeID, const EVERamActivity activity, std::vector<RequiredItem> &into) {
DBQueryResult res;
if(!DBcore::RunQuery(res,
"SELECT"
" material.requiredTypeID,"
" material.quantity,"
" material.damagePerJob,"
" IF(materialGroup.categoryID = 16, 1, 0) AS isSkill"
" FROM typeActivityMaterials AS material"
" LEFT JOIN invTypes AS materialType ON material.requiredTypeID = materialType.typeID"
" LEFT JOIN invGroups AS materialGroup ON materialType.groupID = materialGroup.groupID"
" WHERE material.typeID = %u"
" AND material.activityID = %d"
//this is needed as db is quite crappy ...
" AND material.quantity > 0",
typeID, (const int)activity))
{
_log(DATABASE__ERROR, "Failed to query data to build BillOfMaterials: %s.", res.error.c_str());
return false;
}
DBResultRow row;
while(res.GetRow(row))
into.push_back(RequiredItem(row.GetUInt(0), row.GetUInt(1), row.GetFloat(2), row.GetInt(3) ? true : false));
return true;
}
示例2: DgmTypeAttribute
dgmtypeattributemgr::dgmtypeattributemgr()
{
// load shit from db
DBQueryResult res;
if( !DBcore::RunQuery( res,
"SELECT * FROM dgmTypeAttributes ORDER BY typeID" ) )
{
SysLog::Error("DgmTypeAttrMgr", "Error in db load query: %s", res.error.c_str());
return;
}
uint32 currentID = 0;
DgmTypeAttributeSet * entry = NULL;
DBResultRow row;
int amount = res.GetRowCount();
for (int i = 0; i < amount; i++)
{
res.GetRow(row);
uint32 typeID = row.GetUInt(0);
if (currentID != typeID) {
currentID = typeID;
entry = new DgmTypeAttributeSet;
mDgmTypeAttrInfo.insert(std::make_pair(currentID, entry));
}
DgmTypeAttribute * attr_entry = new DgmTypeAttribute();
attr_entry->attributeID = row.GetUInt(1);
if (row.IsNull(2) == true) {
attr_entry->number = EvilNumber(row.GetFloat(3));
} else {
attr_entry->number = EvilNumber(row.GetInt(2));
}
entry->attributeset.push_back(attr_entry);
}
}
示例3: GetCharacterSkillQueue
bool APICharacterDB::GetCharacterSkillQueue(uint32 characterID, std::vector<std::string> & orderList, std::vector<std::string> & typeIdList,
std::vector<std::string> & levelList, std::vector<std::string> & rankList, std::vector<std::string> & skillIdList,
std::vector<std::string> & primaryAttrList, std::vector<std::string> & secondaryAttrList, std::vector<std::string> & skillPointsTrainedList)
{
DBQueryResult res;
// Get list of characters and their corporation info from the accountID:
if( !sDatabase.RunQuery(res,
" SELECT "
" chrSkillQueue.*, "
" dgmTypeAttributes.attributeID, "
" dgmTypeAttributes.valueInt, "
" dgmTypeAttributes.valueFloat, "
" entity.itemID, "
" entity_attributes.valueInt, "
" entity_attributes.valueFloat "
" FROM chrSkillQueue "
" LEFT JOIN dgmTypeAttributes ON dgmTypeAttributes.typeID = chrSkillQueue.typeID "
" LEFT JOIN entity ON entity.typeID = chrSkillQueue.typeID "
" LEFT JOIN entity_attributes ON entity_attributes.itemID = entity.itemID "
" WHERE chrSkillQueue.characterID = %u AND dgmTypeAttributes.typeID = chrSkillQueue.typeID AND "
" dgmTypeAttributes.attributeID IN (%u,%u,%u) AND entity.ownerID = %u AND entity_attributes.attributeID = %u ",
characterID, AttrPrimaryAttribute, AttrSecondaryAttribute, AttrSkillTimeConstant, characterID, AttrSkillPoints ))
{
sLog.Error( "APIAccountDB::GetCharacterSkillQueue()", "Cannot find characterID %u", characterID );
return false;
}
DBResultRow row;
bool row_found = false;
uint32 prev_orderIndex = 4294967295UL;
while( res.GetRow( row ) )
{
row_found = true;
if( prev_orderIndex != row.GetUInt(1) )
{
prev_orderIndex = row.GetUInt(1);
orderList.push_back( std::string(row.GetText(1)) );
typeIdList.push_back( std::string(row.GetText(2)) );
levelList.push_back( std::string(row.GetText(3)) );
skillIdList.push_back( std::string(row.GetText(7)) );
if( row.GetText(8) == NULL )
// Get value from the query's 'valueFloat' column since 'valueInt' contains 'NULL'
skillPointsTrainedList.push_back( std::string((row.GetText(9) == NULL ? "0.0" : itoa((uint32)(row.GetFloat(9))))) );
else
// Get value from the query's 'valueInt' column since it does not contain 'NULL'
skillPointsTrainedList.push_back( std::string((row.GetText(8) == NULL ? "0" : row.GetText(8))) );
}
if( row.GetUInt(4) == AttrPrimaryAttribute )
{
if( row.GetText(5) == NULL )
// Get value from the query's 'valueFloat' column since 'valueInt' contains 'NULL'
primaryAttrList.push_back( std::string((row.GetText(6) == NULL ? "0.0" : itoa((uint32)(row.GetFloat(6))))) );
else
// Get value from the query's 'valueInt' column since it does not contain 'NULL'
primaryAttrList.push_back( std::string((row.GetText(5) == NULL ? "0" : row.GetText(5))) );
}
else if( row.GetUInt(4) == AttrSecondaryAttribute )
{
if( row.GetText(5) == NULL )
// Get value from the query's 'valueFloat' column since 'valueInt' contains 'NULL'
secondaryAttrList.push_back( std::string((row.GetText(6) == NULL ? "0.0" : itoa((uint32)(row.GetFloat(6))))) );
else
// Get value from the query's 'valueInt' column since it does not contain 'NULL'
secondaryAttrList.push_back( std::string((row.GetText(5) == NULL ? "0" : row.GetText(5))) );
}
else if( row.GetUInt(4) == AttrSkillTimeConstant )
{
if( row.GetText(5) == NULL )
// Get value from the query's 'valueFloat' column since 'valueInt' contains 'NULL'
rankList.push_back( std::string((row.GetText(6) == NULL ? "0.0" : itoa((uint32)(row.GetFloat(6))))) );
else
// Get value from the query's 'valueInt' column since it does not contain 'NULL'
rankList.push_back( std::string((row.GetText(5) == NULL ? "0" : row.GetText(5))) );
}
}
if( !row_found )
{
sLog.Error( "APIServiceDB::GetCharacterSkillQueue()", "res.GetRow(row) failed for unknown reason." );
return false;
}
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;
}
示例5: GetCharacterAttributes
bool APICharacterDB::GetCharacterAttributes(uint32 characterID, std::map<std::string, std::string> & attribList)
{
DBQueryResult res;
// Get list of characters and their corporation info from the accountID:
if( !sDatabase.RunQuery(res,
" SELECT "
" itemID, "
" attributeID, "
" valueInt, "
" valueFloat "
" FROM entity_attributes "
" WHERE itemID = %u ", characterID ))
{
sLog.Error( "APIAccountDB::GetCharacterAttributes()", "Cannot find characterID %u", characterID );
return false;
}
DBResultRow row;
bool row_found = false;
while( res.GetRow( row ) )
{
row_found = true;
if( row.GetUInt(1) == AttrCharisma )
{
// Charisma
if( row.GetText(2) == NULL )
// Get value from 'entity_attributes' table 'valueFloat' column since 'valueInt' contains 'NULL'
attribList.insert( std::pair<std::string, std::string>(std::string(itoa(AttrCharisma)), std::string((row.GetText(3) == NULL ? "0.0" : itoa((uint32)(row.GetFloat(3))))) ));
else
// Get value from 'entity_attributes' table 'valueInt' column since it does not contain 'NULL'
attribList.insert( std::pair<std::string, std::string>(std::string(itoa(AttrCharisma)), std::string((row.GetText(2) == NULL ? "0" : row.GetText(2))) ));
}
if( row.GetUInt(1) == AttrIntelligence )
{
// Intelligence
if( row.GetText(2) == NULL )
// Get value from 'entity_attributes' table 'valueFloat' column since 'valueInt' contains 'NULL'
attribList.insert( std::pair<std::string, std::string>(std::string(itoa(AttrIntelligence)), std::string((row.GetText(3) == NULL ? "0.0" : itoa((uint32)(row.GetFloat(3))))) ));
else
// Get value from 'entity_attributes' table 'valueInt' column since it does not contain 'NULL'
attribList.insert( std::pair<std::string, std::string>(std::string(itoa(AttrIntelligence)), std::string((row.GetText(2) == NULL ? "0" : row.GetText(2))) ));
}
if( row.GetUInt(1) == AttrMemory )
{
// Memory
if( row.GetText(2) == NULL )
// Get value from 'entity_attributes' table 'valueFloat' column since 'valueInt' contains 'NULL'
attribList.insert( std::pair<std::string, std::string>(std::string(itoa(AttrMemory)), std::string((row.GetText(3) == NULL ? "0.0" : itoa((uint32)(row.GetFloat(3))))) ));
else
// Get value from 'entity_attributes' table 'valueInt' column since it does not contain 'NULL'
attribList.insert( std::pair<std::string, std::string>(std::string(itoa(AttrMemory)), std::string((row.GetText(2) == NULL ? "0" : row.GetText(2))) ));
}
if( row.GetUInt(1) == AttrPerception )
{
// Perception
if( row.GetText(2) == NULL )
// Get value from 'entity_attributes' table 'valueFloat' column since 'valueInt' contains 'NULL'
attribList.insert( std::pair<std::string, std::string>(std::string(itoa(AttrPerception)), std::string((row.GetText(3) == NULL ? "0.0" : itoa((uint32)(row.GetFloat(3))))) ));
else
// Get value from 'entity_attributes' table 'valueInt' column since it does not contain 'NULL'
attribList.insert( std::pair<std::string, std::string>(std::string(itoa(AttrPerception)), std::string((row.GetText(2) == NULL ? "0" : row.GetText(2))) ));
}
if( row.GetUInt(1) == AttrWillpower )
{
// Will Power
if( row.GetText(2) == NULL )
// Get value from 'entity_attributes' table 'valueFloat' column since 'valueInt' contains 'NULL'
attribList.insert( std::pair<std::string, std::string>(std::string(itoa(AttrWillpower)), std::string((row.GetText(3) == NULL ? "0.0" : itoa((uint32)(row.GetFloat(3))))) ));
else
// Get value from 'entity_attributes' table 'valueInt' column since it does not contain 'NULL'
attribList.insert( std::pair<std::string, std::string>(std::string(itoa(AttrWillpower)), std::string((row.GetText(2) == NULL ? "0" : row.GetText(2))) ));
}
}
if( !row_found )
{
sLog.Error( "APIServiceDB::GetAccountIdFromUsername()", "res.GetRow(row) failed for unknown reason." );
return false;
}
return true;
}