Я использую коннектор MySQL C ++ версии 1.1.0.
Вот как выглядит мой код:
PreparedStatement *pStatement;
connection->setAutoCommit(false);
pStatement = connection->prepareStatement("UPDATE records "
"SET is_processed = ? "
"WHERE id = ?");
//LOOP BEGIN
pStatement->setInt(1, is_processed);
pStatement->setString(2, record_id);
pStatement->execute();
//LOOP END
int updated_records;
try
{
updated_records = pStatement->getUpdateCount();
}
catch(SQLException&e)
{
cout << "ERROR: " << e.what();
cout << " (MySQL error code: " << e.getErrorCode();
cout << ", SQLState: " << e.getSQLState() << ")" << endl;
}
connection->commit();
connection->setAutoCommit(true);
Исключение выдается со следующим выводом:
ERROR: MySQL_Prepared_Statement::getUpdateCount (MySQL error code: 0, SQLState: )
Так что это совершенно ничего не говорит. Что не так с функцией getUpdateCount()
? Есть ли способ получить более подробный отчет об ошибках?
EDIT
Есть ли другой способ получения обновленного числа строк с использованием коннектора mysql c ++?