4,011
社区成员
发帖
与我相关
我的任务
分享
int CServer::GetNewTaskFromDb()
{
char szInfo[256];
memset(szInfo, 0, 256);
MYSQL * mysql;
MYSQL_RES * res;
MYSQL_ROW row;
char sql[500];
mysql = mysql_init(NULL);
if (!mysql_real_connect(mysql, m_serverPara.MySql.szDbIp,m_serverPara.MySql.szUserName,
m_serverPara.MySql.szPassword,m_serverPara.MySql.szDbName,0,NULL,0))
{
sprintf(szInfo, "Failed to connect to database: Error: %s\n",
mysql_error(mysql));
mysql_close(mysql);
AddLogRecord(szInfo);
return -1;
}
memset(sql,0,500);
sprintf(sql, "select * from %s where status = 0;", m_serverPara.MySql.szTableName);
if(mysql_query(mysql,sql))
{
sprintf(szInfo,"%s\n",sql);
AddLogRecord(szInfo);
sprintf(szInfo, "Failed to query Error: %s\n",
mysql_error(mysql));
AddLogRecord(szInfo);
mysql_close(mysql);
return -1;
}
res = mysql_store_result(mysql);
unsigned int num_fields;
num_fields = mysql_num_fields(res);
int nRecCount = 0;
while ((row = mysql_fetch_row(res)))
{
unsigned long *lengths;
lengths = mysql_fetch_lengths(res);
sprintf(szInfo, "%s\0", row[0]);
TaskInfo task;
memset(&task, 0, sizeof(TaskInfo));
task.nTaskId = atoi(szInfo);
sprintf(task.szContent, "%s\0", row[2]);
string strName = row[3]; //取得条3个字段值
string strunicom = row[4]; //
string strchinanc = row[5]; //
nRecCount++;
}
mysql_free_result(res);
mysql_close(mysql);
return nRecCount;
}