Как подсчитать количество столбцов при переборе результатов с помощью библиотеки Oracle OCCI?

Помогите мне, я хочу сделать универсальную функцию, которая получает результаты любой строки запроса и помещает все строки в другую переменную. Итерируя по строке, как узнать количество доступных столбцов?

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);
}

1

Решение

По словам документация ты можешь использовать getColumnListMetaData функция. Количество элементов в возвращаемом векторе может быть тем, что вы хотите. Вы можете проверить, является ли каждый элемент PTYPE_COL чтобы обеспечить это.

1

Другие решения

попробуй это

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

это сработало для меня.
ссылка на источник

0

По вопросам рекламы [email protected]