Команды не синхронизированы вы не можете выполнить эту команду сейчас QMYSQL не может выполнить запрос

#mariadb

Вопрос:

Я использую MariaDB версии 10.5.9.0, приложение, которое я пишу, использует MSVC 2015 с Qt 5.9.2

Сегодня я вижу ошибку в базе данных, когда я пытаюсь выполнить одну из своих хранимых процедур, процедура не изменилась и довольно долго работала без каких-либо проблем.

Отображается следующая ошибка:

 Commands out of sync; you can't run this command now QMYSQL: Unable to execute query
 

Тем не менее, несмотря на эту ошибку, хранимая процедура работает, и данные добавляются в базу данных.

Я попытался выбрать все в базе данных с помощью HeidiSQL, затем с помощью инструментов > Обслуживание, Проверка, затем Анализ, Ремонт и, наконец, Оптимизация

Все та же проблема.

Ответ №1:

Решена, проблема заключалась в вызове QSqlQuery, а затем в другом подзапросе, снова использующем QSqlQuery, без вызова clear в первом запросе.

Комментарии:

1. Это плохой стиль: вы всегда должны обрабатывать последующие наборы результатов: они могут содержать больше наборов результатов, пакетов ошибок или изменений состояния, которые будут пропущены при очистке всех результатов.