diff options
author | Mark Brand <mabrand@mabrand.nl> | 2011-07-06 17:08:50 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-27 22:48:12 +0100 |
commit | 7785227214cdabfb07ff7e425e1f41aa86fb5faf (patch) | |
tree | 7dec0ff7111236da35114a6a3856b16072bec64f /src | |
parent | 42d1cf0bbe89999c0fb5684400caf933420b28d7 (diff) |
use nameToIndex() instead of duplicating code
Change-Id: If55541aa8a2345f90984d8b82bee0c3ebb01a605
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/sql/models/qsqlrelationaltablemodel.cpp | 7 | ||||
-rw-r--r-- | src/sql/models/qsqltablemodel.cpp | 6 |
2 files changed, 7 insertions, 6 deletions
diff --git a/src/sql/models/qsqlrelationaltablemodel.cpp b/src/sql/models/qsqlrelationaltablemodel.cpp index df7cf1eb3b..a21c051dd5 100644 --- a/src/sql/models/qsqlrelationaltablemodel.cpp +++ b/src/sql/models/qsqlrelationaltablemodel.cpp @@ -303,7 +303,12 @@ int QSqlRelationalTableModelPrivate::nameToIndex(const QString &name) const QString fieldname = name; if (db.driver()->isIdentifierEscaped(fieldname, QSqlDriver::FieldName)) fieldname = db.driver()->stripDelimiters(fieldname, QSqlDriver::FieldName); - return baseRec.indexOf(fieldname); + int idx = baseRec.indexOf(fieldname); + if (idx == -1) { + // If the name is an alias we can find it here. + idx = QSqlTableModelPrivate::nameToIndex(name); + } + return idx; } void QSqlRelationalTableModelPrivate::clearEditBuffer() diff --git a/src/sql/models/qsqltablemodel.cpp b/src/sql/models/qsqltablemodel.cpp index e44c315701..226f2c7286 100644 --- a/src/sql/models/qsqltablemodel.cpp +++ b/src/sql/models/qsqltablemodel.cpp @@ -1344,12 +1344,8 @@ bool QSqlTableModel::setRecord(int row, const QSqlRecord &record) QSqlTableModelPrivate::clearGenerated(mrow.rec); mrow.primaryValues = d->primaryValues(indexInQuery(createIndex(row, 0)).row()); } - QString fieldName; for (int i = 0; i < record.count(); ++i) { - fieldName = record.fieldName(i); - if (d->db.driver()->isIdentifierEscaped(fieldName, QSqlDriver::FieldName)) - fieldName = d->db.driver()->stripDelimiters(fieldName, QSqlDriver::FieldName); - int idx = mrow.rec.indexOf(fieldName); + int idx = d->nameToIndex(record.fieldName(i)); if (idx == -1) { isOk = false; } else { |