oleja1ee7
@oleja1ee7

Почему не понимает тип даты?

Есть запрос на изменение в Qt такого типа:
setquery1->setQuery("UPDATE ships SET n_sudopot = '"+N_sp+"', data_prib_p_nazn = '"+data_prib.toString()+"', "
                               "dispetcher = '"+dispetcher+"' WHERE id="+indid+";");

Сам запрос не выполняется.
data_prib_p_nazn в MySQL имеет тип DATE;
data_prib
пробовал использовать в двух типах:
QDate data_vih = ui->dateEdit->date();               
QString data_vih = ui->dateEdit->date().toString();

Если из запроса удалить дату, то все будет работать.

Какой тип будет использовать правильно?
  • Вопрос задан
  • 310 просмотров
Решения вопроса 1
vt4a2h
@vt4a2h
Senior software engineer (C++/Qt/boost)
По спецификации, тип DATE в SQL выглядит так: yyyy-mm-dd. Заходим в документацию Qt и видим одну из сигнатур (doc.qt.io/qt-5/qdate.html#toString-1 ):
QString QDate::toString(Qt::DateFormat format = Qt::TextDate) const

Т.е. нужно так: ui->dateEdit->date().toString(Qt::ISODate)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
VladimirAndreev
@VladimirAndreev
php web dev
Что вернёт 2018-08-18 — то и подойдёт
Ответ написан
@res2001
Developer, ex-admin
Попробуйте так: '20180814'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы