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 回答