背景:MYSQL *m_mysql 定义了这么一个数据库连接句柄,在多个cpp里都有用到。
举例:
a.cpp:连接数据库
b.cpp:
    int A_GetDataInfo(char *sqlQuery)
{
MYSQL_RES *res;
MYSQL_ROW row;
        mysql_lock.Lock();
        int i = mysql_real_query(m_mysql,sqlQuery,(unsigned int)strlen(sqlQuery));
mysql_lock.Unlock();
nFlag = 1;
res = mysql_use_result(m_mysql);
while (row = mysql_fetch_row(res))
{
        int a = atoi(row[0]);
                B_Excute(a);
}
mysql_free_result(res);
return 0;
}c.cppextern MYSQL *m_mysql;
void B_Excute(int a)
{
      char sql[1024] = {'\0'};
      sprintf_s(sql,"select %d from b",a);
      int j = mysql_real_query(m_mysql,sqlQuery,(unsigned int)strlen(sqlQuery));
}当调试到c.cpp里时,j返回1,数据库提示错误是“命令以一个不适当的次序被执行”,应该怎么优化这样的逻辑呢?APICMySQL