- Qt 6.12
- Qt SQL
- C++ Classes
- QSqlIndex
- Qt 6.12.0 Reference Documentation

# QSqlIndex Class

The QSqlIndex class provides functions to manipulate and describe database indexes. More...

Header: | `#include <QSqlIndex>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Sql)` `target_link_libraries(mytarget PRIVATE Qt6::Sql)`
qmake: | `QT += sql`
Inherits: | QSqlRecord

- List of all members, including inherited members
- QSqlIndex is part of Database Classes.

## Properties

- `(since 6.8)` cursorName : QString
- `(since 6.8)` name : QString

## Public Functions

| QSqlIndex(const QString &cursorname = QString(), const QString &name = QString())
| QSqlIndex(const QSqlIndex &other)
`(since 6.6)` | QSqlIndex(QSqlIndex &&other)
| ~QSqlIndex()
void | append(const QSqlField &field)
void | append(const QSqlField &field, bool desc)
QString | cursorName() const
bool | isDescending(int i) const
QString | name() const
void | setCursorName(const QString &cursorName)
void | setDescending(int i, bool desc)
void | setName(const QString &name)
`(since 6.6)` QSqlIndex & | operator=(QSqlIndex &&other)
QSqlIndex & | operator=(const QSqlIndex &other)

## Detailed Description

An index refers to a single table or view in a database. Information about the fields that comprise the index can be used to generate SQL statements.

## Property Documentation

### `[since 6.8]` cursorName : QString

This property holds the name of the cursor which the index is associated with.

This enumeration was introduced in Qt 6.8.

Access functions:

QString | cursorName() const
void | setCursorName(const QString &cursorName)

### `[since 6.8]` name : QString

This property holds the name of the index.

This enumeration was introduced in Qt 6.8.

Access functions:

QString | name() const
void | setName(const QString &name)

## Member Function Documentation

### `[explicit]` QSqlIndex::QSqlIndex(const QString &cursorname = QString(), const QString &name = QString())

Constructs an empty index using the cursor name cursorname and index name name.

### QSqlIndex::QSqlIndex(const QSqlIndex &other)

Constructs a copy of other.

### `[noexcept default, since 6.6]` QSqlIndex::QSqlIndex(QSqlIndex &&other)

Move-constructs a new QSqlIndex from other.

Note: The moved-from object other is placed in a partially-formed state, in which the only valid operations are destruction and assignment of a new value.

This function was introduced in Qt 6.6.

### `[noexcept]` QSqlIndex::~QSqlIndex()

Destroys the object and frees any allocated resources.

### void QSqlIndex::append(const QSqlField &field)

Appends the field field to the list of indexed fields. The field is appended with an ascending sort order.

### void QSqlIndex::append(const QSqlField &field, bool desc)

Appends the field field to the list of indexed fields. The field is appended with an ascending sort order, unless desc is true.

This is an overloaded function.

### QString QSqlIndex::cursorName() const

Returns the cursorName.

Note: Getter function for property cursorName.

See also setCursorName().

### bool QSqlIndex::isDescending(int i) const

Returns `true` if field i in the index is sorted in descending order; otherwise returns `false`.

### QString QSqlIndex::name() const

Returns the name.

Note: Getter function for property name.

See also setName().

### void QSqlIndex::setCursorName(const QString &cursorName)

Sets cursorName to cursorName.

Note: Setter function for property cursorName.

See also cursorName().

### void QSqlIndex::setDescending(int i, bool desc)

If desc is true, field i is sorted in descending order. Otherwise, field i is sorted in ascending order (the default). If the field does not exist, nothing happens.

See also isDescending().

### void QSqlIndex::setName(const QString &name)

Sets name to name.

Note: Setter function for property name.

See also name().

### `[noexcept, since 6.6]` QSqlIndex &QSqlIndex::operator=(QSqlIndex &&other)

Move-assigns other to this QSqlIndex instance.

Note: The moved-from object other is placed in a partially-formed state, in which the only valid operations are destruction and assignment of a new value.

This function was introduced in Qt 6.6.

### QSqlIndex &QSqlIndex::operator=(const QSqlIndex &other)

Sets the index equal to other.