0

C++SQL の結果から xml を埋める小さなツールを開発しています。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ます。これをより動的な方法で実行したいと思います..より多くのレコードがある場合、または値が長い場合に保存します。mallocinCnewinについては知ってC++いますが、これを私の場合にどのように使用できますか? 何か案が?何かの行に切り替える必要がありtiodbcますか?

4

1 に答える 1

0

最初にデータベースからのレコード数をカウントし、次に malloc を使用してそのサイズのメモリを割り当てます。より動的になると思います

于 2012-11-30T10:40:11.320 に答える