Как исправить: «MySQL_Prepared_ResultSet::getInt: неверное значение ‘columnIndex’

Когда я пытаюсь выбрать некоторые строки из базы данных MySQL в своем проекте C++, я получаю сообщение об ошибке:

MySQL error code: 0 MySQL_Prepared_ResultSet::getInt: invalid value of 'columnIndex'  

В базе данных столбец «id» имеет тип данных INT (11).

У меня нет проблем с получением строковых значений из других столбцов. Я также пытался задать в качестве аргумента в функции getInt() как строковое значение - имя столбца, так и номер столбца.

Это мой код:

    preparedStatementPtr = shared_ptr < sql::PreparedStatement >( connectionPtr->prepareStatement(
            "SELECT description, category FROM plans WHERE date = ? " ) );
    string d = boost::gregorian::to_iso_extended_string( date );
    preparedStatementPtr->setString( 1, d );
    preparedStatementPtr->execute();
    resultSetPtr = shared_ptr < ResultSet >( preparedStatementPtr->getResultSet() );

    int id;
    string description;
    string category;

    while ( resultSetPtr->next() )
    {
        id = resultSetPtr->getInt( "id" );
        description = resultSetPtr->getString( "description" );
        category = resultSetPtr->getString( "category" );
        plans.emplace_back( std::shared_ptr < Plan >( new Plan( id, description, category, date) ) );
    }

Что мне делать, чтобы получить значения из столбца «id»? Спасибо заранее за любую помощь.

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

    resultSetPtr = shared_ptr < sql::ResultSet > ( statementPtr->executeQuery (
            "SELECT * FROM plans WHERE date = '2019-05-22'" ) );


    while ( resultSetPtr->next() )
    {
        id = resultSetPtr->getInt( "id" );
        description = resultSetPtr->getString( "description" );
        category = resultSetPtr->getString( "category" );
        plans.emplace_back( std::shared_ptr < Plan >( new Plan( id, description, category, date ) ) );
    }
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
0
0
840
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я только что решил это. Я забыл о столбце «id» в операторе SELECT.

Другие вопросы по теме