int QSqlRelationalTableModelPrivate::nameToIndex(const QString &name) const
{
- QString fieldname = name;
- if (db.driver()->isIdentifierEscaped(fieldname, QSqlDriver::FieldName))
- fieldname = db.driver()->stripDelimiters(fieldname, QSqlDriver::FieldName);
+ QString fieldname = strippedFieldName(name);
int idx = baseRec.indexOf(fieldname);
if (idx == -1) {
// If the name is an alias we can find it here.
int QSqlTableModelPrivate::nameToIndex(const QString &name) const
{
+ return rec.indexOf(strippedFieldName(name));
+}
+
+QString QSqlTableModelPrivate::strippedFieldName(const QString &name) const
+{
QString fieldname = name;
if (db.driver()->isIdentifierEscaped(fieldname, QSqlDriver::FieldName))
fieldname = db.driver()->stripDelimiters(fieldname, QSqlDriver::FieldName);
- return rec.indexOf(fieldname);
+ return fieldname;
}
void QSqlTableModelPrivate::initRecordAndPrimaryIndex()
const QSqlRecord &rec, const QSqlRecord &whereValues);
virtual void revertCachedRow(int row);
virtual int nameToIndex(const QString &name) const;
+ QString strippedFieldName(const QString &name) const;
void initRecordAndPrimaryIndex();
QSqlDatabase db;