2013-11-22 200 views
0

我对C新手,但我目前正在一个项目中,我有一个编译器警告,但我看不出是什么问题,或者我能够修复它。与mysql_store_result不兼容的指针类型

我执行MySQL查询,然后存储结果,但是当我尝试我取的MYSQL_ROW我得到以下汇编警告

警告存储行:从兼容的指针类型赋值

下面是我正在运行的查询和存储结果

int processDrilldownData(char **reportParameterArray, FILE *csvFile, char *sql, MYSQL *HandleDB, MYSQL_RES *resultReport, MYSQL_ROW rowReport, int UserLevel, int ParentUserLevel, char *CustomerDisplayName, Restrictions *reportRestrictions, int totalLookupNumberCount, numberLookupStruct *numberLookup, int maximumLookupChars, char * statsOutputTable, int targetNumber, FILE * sqlDebugFile) 
     { 
     MYSQL_RES * audioResult = NULL; 
      MYSQL_ROW * audioRow = NULL; 
     sqlLen = asprintf(&sql, "SELECT Tmp.SwitchID, Tmp.CorrelationID, SUM(IF(Direction=2,1,0)) as SSPAudio, " 
       "SUM(IF(Direction=1,Duration/100,0)) as SSPAudioDur FROM %s AS Tmp GROUP BY Tmp.SwitchID, " 
       "Tmp.CorrelationID ORDER BY Tmp.SwitchID, Tmp.CorrelationID, Direction, SeizeUTC, SeizeCSec", 
       statsOutputTable); 
     if ((mysql_real_query(HandleDB, sql, sqlLen))) return 1; 

      audioResult = mysql_store_result(HandleDB); 

    audioRow = mysql_fetch_row(audioResult); 
    } 

感谢您的帮助,您可以提供

回答

1

错误消息是从mysql_fetch_row()而不是mysql_store_result()mysql_fetch_row返回MYSQL_ROW,注意缺失*

因此,声明必须看起来像

MYSQL_ROW audioRow;