Russian Qt Forum
Май 03, 2024, 04:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt MySQL. Ошибка MySQL 2031 при выполнении запроса update  (Прочитано 3384 раз)
stas3638
Гость
« : Октябрь 12, 2015, 12:23 »

Необходимо обновлять ячейку в таблице, но появляется ошибка. До этого делал подобный запрос (там я добавляю запись с переменными типа Date и Time), но тут ни в какую не хочет нормально выполняться.
Qt5, Qt Creator 5.4
Код:
query.prepare("update credits set NextPayDate = ? where PersonID = ?;");
//credits - сама таблица, NextPayDate - типа DATE,
//PersonID - ключевое поле INT (в нем ошибки точно никакой, до и после этого кода используется без ошибок)
QDate NextPayDate = QDate::currentDate().addDays(Period == 0 ? 1 : Period);
//считаем дату, не вникайте в суть, условно скажем, что Period = 30
query1.addBindValue(NextPayDate);
qDebug() << NextPayDate;
//выводит корректную дату в консоль, тут никаких проблем
query.addBindValue(IndividualID);
query.exec();
//QSqlError("2031", "QMYSQL3: Unable to execute statement", "No data supplied for parameters in prepared statement")
//Не могу понять, в чем суть ошибки
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #1 : Октябрь 12, 2015, 12:37 »

А почему готовите query
Код
C++ (Qt)
query.prepare("update credits set NextPayDate = ? where PersonID = ?;");

а биндите query1?
Код
C++ (Qt)
query1.addBindValue(NextPayDate);
Записан
stas3638
Гость
« Ответ #2 : Октябрь 12, 2015, 15:00 »

Ужас, какой же я невнимательный. Спасибо огромное Улыбающийся

А почему готовите query
Код
C++ (Qt)
query.prepare("update credits set NextPayDate = ? where PersonID = ?;");

а биндите query1?
Код
C++ (Qt)
query1.addBindValue(NextPayDate);
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.108 секунд. Запросов: 23.