use nameToIndex() instead of duplicating code
Change-Id: If55541aa8a2345f90984d8b82bee0c3ebb01a605 Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>bb10
parent
42d1cf0bbe
commit
7785227214
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Reference in New Issue