#ifndef QSQLINDEX_H<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

#define QSQLINDEX_H

 

#include <QtSql/qsqlrecord.h>

#include <QtCore/qstring.h>

#include <QtCore/qlist.h>

 

QT_BEGIN_HEADER        //声明开始头文件

 

QT_BEGIN_NAMESPACE    //声明开始命名空间

 

QT_MODULE(Sql)

 

class Q_SQL_EXPORT QSqlIndex : public QSqlRecord

{

public:

QSqlIndex(const QString &cursorName = QString(), const QString &name = QString());

//需要一个光标名和一个index名,这种缺省的QString()是多少?

    QSqlIndex(const QSqlIndex &other);

    ~QSqlIndex();

    QSqlIndex &operator=(const QSqlIndex &other);

void setCursorName(const QString &cursorName);
//
设置光标名

inline QString cursorName() const { return cursor; }

//内联函数直接返回光标名,注意inlineconst的使用。

void setName(const QString& name);

//设置index

    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;

//参数i表示位置,prefix前缀,verbose冗长的,到c文件中详细看看

    QString cursor;

    QString nm;

    QList<bool> sorts;

};

 

QT_END_NAMESPACE

 

QT_END_HEADER

 

#endif // QSQLINDEX_H