1

帮帮我,我想创建一个通用函数来获取任何查询字符串的结果并将所有行放入另一个变量中。遍历一行时,我如何知道可用的列数?

Environment *env = Environment::createEnvironment();
Connection *conn = env->createConnection("user","pass");
quantLinhas = 0;
if( conn != NULL ) {
    Statement *stmt = conn->createStatement(query);
    ResultSet *rs = stmt->executeQuery();
    resultadoSQL->linhas.clear();
    while (rs->next()) {
        aux.campos.clear();
        numbers_colums = rs->whatever_method() //WHAT DO I DO HERE??
        for(i = 0; i < numbers_colums ; i++) {  
            aux.campos.push_back( rs->getString(i) );
            quantLinhas++;
        }
        resultadoSQL->linhas.push_back( aux );
    }
    stmt->closeResultSet(rs);
    conn->terminateStatement(stmt);
    env->terminateConnection(conn);
}
4

2 回答 2

1

根据文档,您可以使用getColumnListMetaData函数。返回向量中的元素数量可能是您想要的。您可以检查每个元素是否为PTYPE_COL以确保它。

于 2013-03-05T23:26:35.750 回答
0

尝试这个

  vector<MetaData> columnList = rs->getColumnListMetaData();
  numbers_colums = columnList.size();
  columnList.clear();

它对我有用。 源链接

于 2018-11-02T13:40:14.530 回答