Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #ifndef QSQLQUERYMODEL_H
00043 #define QSQLQUERYMODEL_H
00044
00045 #include <QtCore/qabstractitemmodel.h>
00046 #include <QtSql/qsqldatabase.h>
00047
00048 QT_BEGIN_HEADER
00049
00050 QT_BEGIN_NAMESPACE
00051
00052 QT_MODULE(Sql)
00053
00054 class QSqlQueryModelPrivate;
00055 class QSqlError;
00056 class QSqlRecord;
00057 class QSqlQuery;
00058
00059 class Q_SQL_EXPORT QSqlQueryModel: public QAbstractTableModel
00060 {
00061 Q_OBJECT
00062 Q_DECLARE_PRIVATE(QSqlQueryModel)
00063
00064 public:
00065 explicit QSqlQueryModel(QObject *parent = 0);
00066 virtual ~QSqlQueryModel();
00067
00068 int rowCount(const QModelIndex &parent = QModelIndex()) const;
00069 int columnCount(const QModelIndex &parent = QModelIndex()) const;
00070 QSqlRecord record(int row) const;
00071 QSqlRecord record() const;
00072
00073 QVariant data(const QModelIndex &item, int role = Qt::DisplayRole) const;
00074 QVariant headerData(int section, Qt::Orientation orientation,
00075 int role = Qt::DisplayRole) const;
00076 bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value,
00077 int role = Qt::EditRole);
00078
00079 bool insertColumns(int column, int count, const QModelIndex &parent = QModelIndex());
00080 bool removeColumns(int column, int count, const QModelIndex &parent = QModelIndex());
00081
00082 void setQuery(const QSqlQuery &query);
00083 void setQuery(const QString &query, const QSqlDatabase &db = QSqlDatabase());
00084 QSqlQuery query() const;
00085
00086 virtual void clear();
00087
00088 QSqlError lastError() const;
00089
00090 void fetchMore(const QModelIndex &parent = QModelIndex());
00091 bool canFetchMore(const QModelIndex &parent = QModelIndex()) const;
00092
00093 protected:
00094 virtual void queryChange();
00095
00096 QModelIndex indexInQuery(const QModelIndex &item) const;
00097 void setLastError(const QSqlError &error);
00098 QSqlQueryModel(QSqlQueryModelPrivate &dd, QObject *parent = 0);
00099 };
00100
00101 QT_END_NAMESPACE
00102
00103 QT_END_HEADER
00104
00105 #endif // QSQLQUERYMODEL_H