void QRelation::populateDictionary() { if (!isValid()) return; if (model == NULL) populateModel(); QSqlRecord record; QString indexColumn; QString displayColumn; for (int i=0; i < model->rowCount(); ++i) { record = model->record(i); indexColumn = rel.indexColumn(); if (m_parent->database().driver()->isIdentifierEscaped(indexColumn, QSqlDriver::FieldName)) indexColumn = m_parent->database().driver()->stripDelimiters(indexColumn, QSqlDriver::FieldName); displayColumn = rel.displayColumn(); if (m_parent->database().driver()->isIdentifierEscaped(displayColumn, QSqlDriver::FieldName)) displayColumn = m_parent->database().driver()->stripDelimiters(displayColumn, QSqlDriver::FieldName); dictionary[record.field(indexColumn).value().toString()] = record.field(displayColumn).value(); } m_dictInitialized = true; }
void QRelation::populateModel() { if (!isValid()) return; Q_ASSERT(m_parent != NULL); if (!model) { model = new QSqlTableModel(m_parent, m_parent->database()); model->setTable(rel.tableName()); model->select(); } }