2012-11-30 44 views
0

我開發了一個小型的C++工具,該工具從SQL結果中填充xml。我使用C ODBC庫連接到SQL服務器。此功能獲得記錄:C ODBC將sql結果保存在動態數組中

... 
char result[5][64]; //More flexible 
... 

for (i = 0; i < columns; i++) { 
    SQLBindCol(stmt, i + 1, SQL_C_CHAR, result[i], sizeof(result[i]), &indicator[i]); 
} 

while (SQL_SUCCEEDED(SQLFetch(stmt))) { 
    for (i = 0; i < columns; i++) { 
     if (indicator[ i ] == SQL_NULL_DATA) { 
      cout << format("Column %1% : NULL") % i << endl; 
     } 
     else { 
      cout << format("Column %1% : %2%") % i % result[i] << endl; 
     } 
    } 
} 

我將結果保存在result char array中。我想以更動態的方式來做到這一點..要保存,如果有更多的記錄或值更長。我知道mallocCnewC++,但我怎麼能用這個在我的情況?任何想法?我應該切換到行tiodbc

+0

'的std ::矢量' –

回答

0

第一計數這是來自數據庫,然後使用malloc的到 記錄數的分配的內存size.I認爲這將我更多的動力

+0

我應該如何知道我得到了多少條記錄? – hofmeister

相關問題