diff options
Diffstat (limited to 'src/sql/kernel')
-rw-r--r-- | src/sql/kernel/qsqldriver.cpp | 22 | ||||
-rw-r--r-- | src/sql/kernel/qsqlfield.cpp | 11 | ||||
-rw-r--r-- | src/sql/kernel/qsqlfield.h | 2 | ||||
-rw-r--r-- | src/sql/kernel/qsqlresult.cpp | 4 |
4 files changed, 19 insertions, 20 deletions
diff --git a/src/sql/kernel/qsqldriver.cpp b/src/sql/kernel/qsqldriver.cpp index adf4421c89..638476c2c1 100644 --- a/src/sql/kernel/qsqldriver.cpp +++ b/src/sql/kernel/qsqldriver.cpp @@ -611,30 +611,30 @@ QString QSqlDriver::formatValue(const QSqlField &field, bool trimStrings) const if (field.isNull()) r = nullTxt; else { - switch (field.type()) { - case QVariant::Int: - case QVariant::UInt: - if (field.value().type() == QVariant::Bool) + switch (+field.type()) { + case QMetaType::Int: + case QMetaType::UInt: + if (field.value().userType() == QMetaType::Bool) r = field.value().toBool() ? QLatin1String("1") : QLatin1String("0"); else r = field.value().toString(); break; #if QT_CONFIG(datestring) - case QVariant::Date: + case QMetaType::QDate: if (field.value().toDate().isValid()) r = QLatin1Char('\'') + field.value().toDate().toString(Qt::ISODate) + QLatin1Char('\''); else r = nullTxt; break; - case QVariant::Time: + case QMetaType::QTime: if (field.value().toTime().isValid()) r = QLatin1Char('\'') + field.value().toTime().toString(Qt::ISODate) + QLatin1Char('\''); else r = nullTxt; break; - case QVariant::DateTime: + case QMetaType::QDateTime: if (field.value().toDateTime().isValid()) r = QLatin1Char('\'') + field.value().toDateTime().toString(Qt::ISODate) + QLatin1Char('\''); @@ -642,8 +642,8 @@ QString QSqlDriver::formatValue(const QSqlField &field, bool trimStrings) const r = nullTxt; break; #endif - case QVariant::String: - case QVariant::Char: + case QMetaType::QString: + case QMetaType::QChar: { QString result = field.value().toString(); if (trimStrings) { @@ -657,10 +657,10 @@ QString QSqlDriver::formatValue(const QSqlField &field, bool trimStrings) const r = QLatin1Char('\'') + result + QLatin1Char('\''); break; } - case QVariant::Bool: + case QMetaType::Bool: r = QString::number(field.value().toBool()); break; - case QVariant::ByteArray : { + case QMetaType::QByteArray : { if (hasFeature(BLOB)) { QByteArray ba = field.value().toByteArray(); QString res; diff --git a/src/sql/kernel/qsqlfield.cpp b/src/sql/kernel/qsqlfield.cpp index 5a6d173b3b..86a22bae10 100644 --- a/src/sql/kernel/qsqlfield.cpp +++ b/src/sql/kernel/qsqlfield.cpp @@ -48,7 +48,7 @@ class QSqlFieldPrivate public: QSqlFieldPrivate(const QString &name, QVariant::Type type, const QString &tableName) : - ref(1), nm(name), table(tableName), def(QVariant()), type(type), + ref(1), nm(name), table(tableName), def(QVariant()), type(QMetaType::Type(type)), req(QSqlField::Unknown), len(-1), prec(-1), tp(-1), ro(false), gen(true), autoval(false) {} @@ -86,7 +86,7 @@ public: QString nm; QString table; QVariant def; - QVariant::Type type; + QMetaType::Type type; QSqlField::RequiredStatus req; int len; int prec; @@ -399,7 +399,7 @@ QString QSqlField::name() const */ QVariant::Type QSqlField::type() const { - return d->type; + return QVariant::Type(d->type); } /*! @@ -411,12 +411,11 @@ QVariant::Type QSqlField::type() const void QSqlField::setType(QVariant::Type type) { detach(); - d->type = type; + d->type = QMetaType::Type(type); if (!val.isValid()) val = QVariant(type); } - /*! Returns \c true if the field's value is read-only; otherwise returns false. @@ -526,7 +525,7 @@ bool QSqlField::isGenerated() const */ bool QSqlField::isValid() const { - return d->type != QVariant::Invalid; + return d->type != QMetaType::UnknownType; } #ifndef QT_NO_DEBUG_STREAM diff --git a/src/sql/kernel/qsqlfield.h b/src/sql/kernel/qsqlfield.h index 8650ba8715..892420d26e 100644 --- a/src/sql/kernel/qsqlfield.h +++ b/src/sql/kernel/qsqlfield.h @@ -55,7 +55,7 @@ public: enum RequiredStatus { Unknown = -1, Optional = 0, Required = 1 }; explicit QSqlField(const QString& fieldName = QString(), - QVariant::Type type = QVariant::Invalid); + QVariant::Type type = {}); QSqlField(const QString &fieldName, QVariant::Type type, const QString &tableName); diff --git a/src/sql/kernel/qsqlresult.cpp b/src/sql/kernel/qsqlresult.cpp index cc91c6d0ed..a41b3d8424 100644 --- a/src/sql/kernel/qsqlresult.cpp +++ b/src/sql/kernel/qsqlresult.cpp @@ -645,7 +645,7 @@ bool QSqlResult::exec() for (i = d->holders.count() - 1; i >= 0; --i) { holder = d->holders.at(i).holderName; val = d->values.value(d->indexes.value(holder).value(0,-1)); - QSqlField f(QLatin1String(""), val.type()); + QSqlField f(QLatin1String(""), QVariant::Type(val.userType())); f.setValue(val); query = query.replace(d->holders.at(i).holderPos, holder.length(), driver()->formatValue(f)); @@ -659,7 +659,7 @@ bool QSqlResult::exec() if (i == -1) continue; QVariant var = d->values.value(idx); - QSqlField f(QLatin1String(""), var.type()); + QSqlField f(QLatin1String(""), QVariant::Type(var.userType())); if (var.isNull()) f.clear(); else |