2011-03-11 84 views
0
void BaseMySQL::QueryArray(char *InQuery,std::string outResult[]) 
{ 
    query_state = mysql_query(con, InQuery); 
    if (query_state !=0) { 
    printf("%s",mysql_error(con)); 
    } 
    res = mysql_store_result(con); 
    m_fields = (WORD)mysql_num_fields(res); 
    while((row = mysql_fetch_row(res))!= NULL) { 
     for(int i = 0; i < m_fields; i++) 
     { 
      outResult[i]=row[i]; 
     } 
    } 
    mysql_free_result(res); 
} 

這個功能現在用的工作方式更何況可以說,我有一個像1000個計費和我的查詢是選擇多行

「選擇帳戶ID,姓名,密碼」

我的功能只會讓我在第一排一樣,如果正在使用std::string acc[20];//array

所以

id=acc[0]; 
name=acc[1]; 
password=acc[2]; 

但我的問題,我不能弄清楚如何我可以選擇所有的行和使用它?

回答

0
row = mysql_fetch_row(res); 
while(row) 
{ 
    for(int i = 0; i < m_fields; i++) 
    { 
     outResult[i]=row[i]; 
    } 
    row = mysql_fetch_row(res); 
} 

像這樣改變你的功能。它爲我工作。