diff --git a/src/sql/kernel/qsqlresult.cpp b/src/sql/kernel/qsqlresult.cpp index 568520cd5c..cdf1479e64 100644 --- a/src/sql/kernel/qsqlresult.cpp +++ b/src/sql/kernel/qsqlresult.cpp @@ -632,11 +632,13 @@ bool QSqlResultPrivate::isVariantNull(const QVariant &variant) case qMetaTypeId(): return static_cast(variant.constData())->isNull(); case qMetaTypeId(): - return static_cast(variant.constData())->isNull(); + // We treat invalid date-time as null, since its ISODate would be empty. + return !static_cast(variant.constData())->isValid(); case qMetaTypeId(): return static_cast(variant.constData())->isNull(); case qMetaTypeId(): - return static_cast(variant.constData())->isNull(); + // As for QDateTime, QTime can be invalid without being null. + return !static_cast(variant.constData())->isValid(); case qMetaTypeId(): return static_cast(variant.constData())->isNull(); default: