本文整理汇总了C++中DB::Query方法的典型用法代码示例。如果您正苦于以下问题:C++ DB::Query方法的具体用法?C++ DB::Query怎么用?C++ DB::Query使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DB
的用法示例。
在下文中一共展示了DB::Query方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Reload
void Workflows::Reload(void)
{
Logger::Log(LOG_NOTICE,"[ Workflows ] Reloading workflows definitions");
pthread_mutex_lock(&lock);
// Clean current tasks
std::map<std::string,Workflow *>::iterator it;
for(it=workflows.begin();it!=workflows.end();++it)
delete it->second;
workflows.clear();
// Update
DB db;
DB db2(&db);
db.Query("SELECT Workflow_name FROM t_workflow");
while(db.FetchRow())
{
std::string Workflow_name(db.GetField(0));
workflows[Workflow_name] = new Workflow(&db2,db.GetField(0));
}
pthread_mutex_unlock(&lock);
}
示例2: GetPeerInfo
int PING::GetPeerInfo(std::vector<PEER_INFO> &a_vecPeerInfo)
{
int ret = 0;
char szBuff[DEF_MEM_BUF_1024];
char szQuery[DEF_MEM_BUF_1024];
char szImageNo[DEF_MEM_BUF_64];
char szIP[DEF_MEM_BUF_64];
char szPeerNo[DEF_MEM_BUF_64];
char szPeerName[DEF_MEM_BUF_64];
char szPkgName[DEF_MEM_BUF_64];
char szPeerType[DEF_MEM_BUF_64];
DB *pclsDB = m_pclsMain->GetDBConn();
if(NULL == pclsDB)
{
m_pclsLog->ERROR("Fail to DB Conncnect in PING Checker");
return -1;
}
FetchMaria fData;
fData.Set(szIP, sizeof(szIP));
fData.Set(szImageNo, sizeof(szImageNo));
memset(szQuery, 0x00, sizeof(szQuery));
snprintf(szQuery, sizeof(szQuery),
"SELECT IP, IMAGE_NO FROM TAT_NODE "
"WHERE "
"NODE_NO='%d'"
, m_pclsMain->GetNodeID()
);
m_pclsLog->DEBUG("Query : %s", szQuery);
ret = pclsDB->Query(&fData, szQuery, strlen(szQuery));
if(ret < 0)
{
m_pclsLog->ERROR("Fail to Query (%s) [%d:%s]", szQuery, ret, pclsDB->GetErrorMsg(ret));
return -1;
}
if(fData.Fetch() == false)
return -1;
m_strMyIP.assign(szIP);
memset(szQuery, 0x00, sizeof(szQuery));
snprintf(szQuery, sizeof(szQuery),
"SELECT A.TARGET_ID AS IMAGE_NO "
"FROM TAT_LINE_DEF A, TAT_NODE_GUI B "
"WHERE "
"A.TARGET_ID = B.IMAGE_NO "
"AND A.SOURCE_TYPE='NO' "
"AND A.SOURCE_ID='%s' "
"UNION ALL "
"SELECT A.SOURCE_ID AS IMAGE_NO "
"FROM TAT_LINE_DEF A, TAT_NODE_GUI B "
"WHERE "
"A.SOURCE_ID = B.IMAGE_NO "
"AND A.TARGET_TYPE='NO' "
"AND A.TARGET_ID='%s'"
, szImageNo
, szImageNo
);
m_pclsLog->DEBUG("Query : %s", szQuery);
fData.Clear();
fData.Set(szImageNo, sizeof(szImageNo));
ret = pclsDB->Query(&fData, szQuery, strlen(szQuery));
if(ret < 0)
{
m_pclsLog->ERROR("Fail to Query (%s) [%d:%s]", szQuery, ret, pclsDB->GetErrorMsg(ret));
return -1;
}
if( false == fData.Fetch() )
return 0;
memset(szBuff, 0x00, sizeof(szBuff));
snprintf(szBuff, sizeof(szBuff), "'%s'", szImageNo);
while(true)
{
if( false == fData.Fetch() )
break;
strcat(szBuff, ", '");
strcat(szBuff, szImageNo);
strcat(szBuff, "'");
}
memset(szQuery, 0x00, sizeof(szQuery));
snprintf(szQuery, sizeof(szQuery),
"SELECT NODE_NAME, NODE_NO, IP, PKG_NAME, NODE_TYPE FROM TAT_NODE WHERE IMAGE_NO IN (%s)", szBuff);
m_pclsLog->DEBUG("Query : %s", szQuery);
fData.Clear();
fData.Set(szPeerName, sizeof(szPeerName));
fData.Set(szPeerNo, sizeof(szPeerNo));
//.........这里部分代码省略.........