Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# QSqlIndex Class Reference

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

    #include <QSqlIndex>

Inherits QSqlRecord.

- List of all members, including inherited members

### Public Functions

- QSqlIndex ( const QString & cursorname = QString(), const QString & name = QString() )
- QSqlIndex ( const 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 )
- QString toString ( const QString & prefix = QString(), const QString & sep = QLatin1String( "," ), bool verbose = true ) const
- QStringList toStringList ( const QString & prefix = QString(), bool verbose = true ) const
- QSqlIndex & operator= ( const QSqlIndex & other )

- 25 public functions inherited from QSqlRecord

## Detailed Description

The QSqlIndex class provides functions to manipulate and describe QSqlCursor and QSqlDatabase indexes.

This class is used to describe and manipulate QSqlCursor and QSqlDatabase indexes. 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, or to affect the behavior of a QSqlCursor object.

Normally, QSqlIndex objects are created by QSqlDatabase or QSqlCursor.

## Member Function Documentation

### 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.

### 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 )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

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

### QString QSqlIndex::cursorName () const

Returns the name of the cursor which the index is associated with.

### 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 of the index.

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

Sets the name of the cursor that the index is associated with to 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.

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

Sets the name of the index to name.

### QString QSqlIndex::toString ( const QString & prefix = QString(), const QString & sep = QLatin1String( "," ), bool verbose = true ) const

Returns a comma-separated list of all the index's field names as a string. This string is suitable, for example, for generating a SQL SELECT statement. Only generated fields are included in the list (see isGenerated()). If a prefix is specified, e.g. a table name, it is prepended before all field names in the form:

"prefix.<fieldname>"

If sep is specified, each field is separated by sep. If verbose is true (the default), each field contains a suffix indicating an ASCending or DESCending sort order.

### QStringList QSqlIndex::toStringList ( const QString & prefix = QString(), bool verbose = true ) const

Returns a list of all the index's field names. Only generated fields are included in the list (see isGenerated()). If a prefix is specified, e.g. a table name, all fields are prefixed in the form:

"prefix.<fieldname>"

If verbose is true (the default), each field contains a suffix indicating an ASCending or DESCending sort order.

Note that if you want to iterate over the list, you should iterate over a copy, e.g.

        QStringList list = myIndex.toStringList();
        QStringList::Iterator it = list.begin();
        while(it != list.end()) {
            myProcessing(*it);
            ++it;
        }

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

Sets the index equal to other.