added contains method to string field type [skip ci]
This commit is contained in:
parent
1b02d795a9
commit
0e61d62ab6
|
|
@ -828,52 +828,6 @@ QString SqlGeneratorBase::escapeValue(const QVariant &v) const
|
|||
return QString();
|
||||
}
|
||||
return "'" + serialized + "'";
|
||||
|
||||
switch (v.type()) {
|
||||
case QVariant::Bool:
|
||||
return v.toBool() ? "1" : "0";
|
||||
|
||||
case QVariant::Int:
|
||||
case QVariant::UInt:
|
||||
case QVariant::ULongLong:
|
||||
case QVariant::LongLong:
|
||||
case QVariant::Double:
|
||||
return v.toString();
|
||||
|
||||
case QVariant::Uuid:
|
||||
return "'" + v.toUuid().toString() + "'";
|
||||
|
||||
case QVariant::Char:
|
||||
case QVariant::String:
|
||||
return "'" + v.toString().replace("'", "''") + "'";
|
||||
|
||||
case QVariant::DateTime:
|
||||
return "'" + v.toDateTime().toString(Qt::ISODate) + "'";
|
||||
|
||||
case QVariant::Date:
|
||||
return "'" + v.toDate().toString(Qt::ISODate) + "'";
|
||||
|
||||
case QVariant::Time:
|
||||
return "'" + v.toTime().toString(Qt::ISODate) + "'";
|
||||
|
||||
case QVariant::StringList:
|
||||
case QVariant::List:
|
||||
return "('" + v.toStringList().join("', '") + "')";
|
||||
|
||||
case QVariant::Point:
|
||||
case QVariant::PointF:
|
||||
case QVariant::Polygon:
|
||||
case QVariant::PolygonF:
|
||||
return "'" + _serializer->serialize(v) + "'";
|
||||
|
||||
case QVariant::Invalid:
|
||||
qFatal("Invalud field value");
|
||||
|
||||
default:
|
||||
qWarning("No field escape rule for: %s", v.typeName());
|
||||
Q_UNREACHABLE();
|
||||
return QString();
|
||||
}
|
||||
}
|
||||
|
||||
QVariant SqlGeneratorBase::unescapeValue(const QMetaType::Type &type,
|
||||
|
|
|
|||
|
|
@ -58,6 +58,10 @@ public:
|
|||
return ConditionalPhrase(this, PhraseData::Like, term);
|
||||
}
|
||||
|
||||
ConditionalPhrase contains(const QString &term) {
|
||||
return ConditionalPhrase(this, PhraseData::Like, "%" + term + "%");
|
||||
}
|
||||
|
||||
AssignmentPhrase operator =(const QVariant &v) {
|
||||
return AssignmentPhrase(this, v);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -137,7 +137,7 @@ Q_OUTOFLINE_TEMPLATE QList<T *> Query<T>::toList(int count)
|
|||
d->sql = d->database->sqlGenertor()->selectCommand(
|
||||
d->tableName, d->fieldPhrase, d->wherePhrase, d->orderPhrase,
|
||||
d->relations, d->skip, d->take);
|
||||
|
||||
qDebug() << d->sql;
|
||||
QSqlQuery q = d->database->exec(d->sql);
|
||||
if (q.lastError().isValid()) {
|
||||
qDebug() << q.lastError().text();
|
||||
|
|
|
|||
Loading…
Reference in New Issue