Skip to content

Commit 224fdb9

Browse files
Update 6.7.2
1 parent da31ae9 commit 224fdb9

File tree

1 file changed

+25
-33
lines changed

1 file changed

+25
-33
lines changed

mysql/qsql_mysql.cpp

Lines changed: 25 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -832,28 +832,6 @@ void QMYSQLResult::virtual_hook(int id, void *data)
832832
QSqlResult::virtual_hook(id, data);
833833
}
834834

835-
static QT_MYSQL_TIME *toMySqlDate(QDate date, QTime time, int type)
836-
{
837-
Q_ASSERT(type == QMetaType::QTime || type == QMetaType::QDate
838-
|| type == QMetaType::QDateTime);
839-
840-
auto myTime = new QT_MYSQL_TIME{};
841-
842-
if (type == QMetaType::QTime || type == QMetaType::QDateTime) {
843-
myTime->hour = time.hour();
844-
myTime->minute = time.minute();
845-
myTime->second = time.second();
846-
myTime->second_part = time.msec() * 1000;
847-
}
848-
if (type == QMetaType::QDate || type == QMetaType::QDateTime) {
849-
myTime->year = date.year();
850-
myTime->month = date.month();
851-
myTime->day = date.day();
852-
}
853-
854-
return myTime;
855-
}
856-
857835
bool QMYSQLResult::prepare(const QString& query)
858836
{
859837
Q_D(QMYSQLResult);
@@ -943,25 +921,39 @@ bool QMYSQLResult::exec()
943921
case QMetaType::QTime:
944922
case QMetaType::QDate:
945923
case QMetaType::QDateTime: {
946-
QT_MYSQL_TIME *myTime = toMySqlDate(val.toDate(), val.toTime(), val.userType());
924+
auto myTime = new QT_MYSQL_TIME{};
947925
timeVector.append(myTime);
948-
949926
currBind->buffer = myTime;
950-
switch (val.userType()) {
951-
case QMetaType::QTime:
927+
928+
QDate date;
929+
QTime time;
930+
int type = val.userType();
931+
if (type == QMetaType::QTime) {
932+
time = val.toTime();
952933
currBind->buffer_type = MYSQL_TYPE_TIME;
953934
myTime->time_type = MYSQL_TIMESTAMP_TIME;
954-
break;
955-
case QMetaType::QDate:
935+
} else if (type == QMetaType::QDate) {
936+
date = val.toDate();
956937
currBind->buffer_type = MYSQL_TYPE_DATE;
957938
myTime->time_type = MYSQL_TIMESTAMP_DATE;
958-
break;
959-
case QMetaType::QDateTime:
939+
} else {
940+
QDateTime dt = val.toDateTime();
941+
date = dt.date();
942+
time = dt.time();
960943
currBind->buffer_type = MYSQL_TYPE_DATETIME;
961944
myTime->time_type = MYSQL_TIMESTAMP_DATETIME;
962-
break;
963-
default:
964-
break;
945+
}
946+
947+
if (type == QMetaType::QTime || type == QMetaType::QDateTime) {
948+
myTime->hour = time.hour();
949+
myTime->minute = time.minute();
950+
myTime->second = time.second();
951+
myTime->second_part = time.msec() * 1000;
952+
}
953+
if (type == QMetaType::QDate || type == QMetaType::QDateTime) {
954+
myTime->year = date.year();
955+
myTime->month = date.month();
956+
myTime->day = date.day();
965957
}
966958
currBind->buffer_length = sizeof(QT_MYSQL_TIME);
967959
currBind->length = 0;

0 commit comments

Comments
 (0)