QSqlIndex наследуется от QSqlRecord. Если это набор обычно всех полей таблицы, то QSqlIndex содержит только индексированные поля.
class Q_SQL_EXPORT QSqlIndex : public QSqlRecord
{
public:
QSqlIndex(const QString &cursorName = QString(), const QString &name = QString());
QSqlIndex(const QSqlIndex &other);
~QSqlIndex();
QSqlIndex &operator=(const QSqlIndex &other);
void setCursorName(const QString &cursorName);
inline QString cursorName() const { return cursor; }
void setName(const QString& name);
inline QString name() const { return nm; }
void append(const QSqlField &field);
void append(const QSqlField &field, bool desc);
bool isDescending(int i) const;
void setDescending(int i, bool desc);
#ifdef QT3_SUPPORT
QT3_SUPPORT QString toString(const QString &prefix = QString(),
const QString &sep = QLatin1String(","),
bool verbose = true) const;
QT3_SUPPORT QStringList toStringList(const QString& prefix = QString(),
bool verbose = true) const;
#endif
private:
QString createField(int i, const QString& prefix, bool verbose) const;
QString cursor;
QString nm;
QList sorts;
};