Qt 4.8
|
The QSqlTableModel class provides an editable data model for a single database table. More...
#include <qsqltablemodel.h>
Public Types | |
enum | EditStrategy { OnFieldChange, OnRowChange, OnManualSubmit } |
This enum type describes which strategy to choose when editing values in the database. More... | |
Public Slots | |
void | revert () |
This reimplemented slot is called by the item delegates when the user canceled editing the current row. More... | |
void | revertAll () |
Reverts all pending changes. More... | |
bool | submit () |
This reimplemented slot is called by the item delegates when the user stopped editing the current row. More... | |
bool | submitAll () |
Submits all pending changes and returns true on success. More... | |
Public Slots inherited from QAbstractItemModel | |
virtual void | revert () |
Lets the model know that it should discard cached information. More... | |
virtual bool | submit () |
Lets the model know that it should submit cached information to permanent storage. More... | |
Public Slots inherited from QObject | |
void | deleteLater () |
Schedules this object for deletion. More... | |
Signals | |
void | beforeDelete (int row) |
This signal is emitted by deleteRowFromTable() before the row is deleted from the currently active database table. More... | |
void | beforeInsert (QSqlRecord &record) |
This signal is emitted by insertRowIntoTable() before a new row is inserted into the currently active database table. More... | |
void | beforeUpdate (int row, QSqlRecord &record) |
This signal is emitted by updateRowInTable() before the row is updated in the currently active database table with the values from record. More... | |
void | primeInsert (int row, QSqlRecord &record) |
This signal is emitted by insertRows(), when an insertion is initiated in the given row of the currently active database table. More... | |
Signals inherited from QAbstractItemModel | |
void | columnsAboutToBeInserted (const QModelIndex &parent, int first, int last) |
This signal is emitted just before columns are inserted into the model. More... | |
void | columnsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn) |
This signal is emitted just before columns are moved within the model. More... | |
void | columnsAboutToBeRemoved (const QModelIndex &parent, int first, int last) |
This signal is emitted just before columns are removed from the model. More... | |
void | columnsInserted (const QModelIndex &parent, int first, int last) |
This signal is emitted after columns have been inserted into the model. More... | |
void | columnsMoved (const QModelIndex &parent, int start, int end, const QModelIndex &destination, int column) |
This signal is emitted after columns have been moved within the model. More... | |
void | columnsRemoved (const QModelIndex &parent, int first, int last) |
This signal is emitted after columns have been removed from the model. More... | |
void | dataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight) |
This signal is emitted whenever the data in an existing item changes. More... | |
void | headerDataChanged (Qt::Orientation orientation, int first, int last) |
This signal is emitted whenever a header is changed. More... | |
void | layoutAboutToBeChanged () |
This signal is emitted just before the layout of a model is changed. More... | |
void | layoutChanged () |
This signal is emitted whenever the layout of items exposed by the model has changed; for example, when the model has been sorted. More... | |
void | modelAboutToBeReset () |
This signal is emitted when reset() is called, before the model's internal state (e. More... | |
void | modelReset () |
This signal is emitted when reset() is called, after the model's internal state (e. More... | |
void | rowsAboutToBeInserted (const QModelIndex &parent, int first, int last) |
This signal is emitted just before rows are inserted into the model. More... | |
void | rowsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow) |
This signal is emitted just before rows are moved within the model. More... | |
void | rowsAboutToBeRemoved (const QModelIndex &parent, int first, int last) |
This signal is emitted just before rows are removed from the model. More... | |
void | rowsInserted (const QModelIndex &parent, int first, int last) |
This signal is emitted after rows have been inserted into the model. More... | |
void | rowsMoved (const QModelIndex &parent, int start, int end, const QModelIndex &destination, int row) |
This signal is emitted after rows have been moved within the model. More... | |
void | rowsRemoved (const QModelIndex &parent, int first, int last) |
This signal is emitted after rows have been removed from the model. More... | |
Signals inherited from QObject | |
void | destroyed (QObject *=0) |
This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More... | |
Public Functions | |
void | clear () |
Reimplemented Function More... | |
QVariant | data (const QModelIndex &idx, int role=Qt::DisplayRole) const |
Reimplemented Function More... | |
QSqlDatabase | database () const |
Returns a pointer to the used QSqlDatabase or 0 if no database was set. More... | |
EditStrategy | editStrategy () const |
Returns the current edit strategy. More... | |
int | fieldIndex (const QString &fieldName) const |
Returns the index of the field fieldName, or -1 if no corresponding field exists in the model. More... | |
QString | filter () const |
Returns the currently set filter. More... | |
Qt::ItemFlags | flags (const QModelIndex &index) const |
Reimplemented Function More... | |
QVariant | headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const |
Reimplemented Function More... | |
bool | insertRecord (int row, const QSqlRecord &record) |
Inserts the record after row. More... | |
bool | insertRows (int row, int count, const QModelIndex &parent=QModelIndex()) |
Inserts count empty rows at position row. More... | |
bool | isDirty (const QModelIndex &index) const |
Returns true if the value at the index index is dirty, otherwise false. More... | |
QSqlIndex | primaryKey () const |
Returns the primary key for the current table, or an empty QSqlIndex if the table is not set or has no primary key. More... | |
QSqlTableModel (QObject *parent=0, QSqlDatabase db=QSqlDatabase()) | |
Creates an empty QSqlTableModel and sets the parent to parent and the database connection to db. More... | |
bool | removeColumns (int column, int count, const QModelIndex &parent=QModelIndex()) |
Removes count columns from the parent model, starting at index column. More... | |
bool | removeRows (int row, int count, const QModelIndex &parent=QModelIndex()) |
Removes count rows starting at row. More... | |
virtual void | revertRow (int row) |
Reverts all changes for the specified row. More... | |
int | rowCount (const QModelIndex &parent=QModelIndex()) const |
Reimplemented Function More... | |
virtual bool | select () |
Populates the model with data from the table that was set via setTable(), using the specified filter and sort condition, and returns true if successful; otherwise returns false. More... | |
bool | setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) |
Sets the data for the item index for the role role to value. More... | |
virtual void | setEditStrategy (EditStrategy strategy) |
Sets the strategy for editing values in the database to strategy. More... | |
virtual void | setFilter (const QString &filter) |
Sets the current filter to filter. More... | |
bool | setRecord (int row, const QSqlRecord &record) |
Sets the values at the specified row to the values of record. More... | |
virtual void | setSort (int column, Qt::SortOrder order) |
Sets the sort order for column to order. More... | |
virtual void | setTable (const QString &tableName) |
Sets the database table on which the model operates to tableName. More... | |
void | sort (int column, Qt::SortOrder order) |
Sorts the data by column with the sort order order. More... | |
QString | tableName () const |
Returns the name of the currently selected table. More... | |
virtual | ~QSqlTableModel () |
Destroys the object and frees any allocated resources. More... | |
Public Functions inherited from QSqlQueryModel | |
bool | canFetchMore (const QModelIndex &parent=QModelIndex()) const |
Returns true if it is possible to read more rows from the database. More... | |
int | columnCount (const QModelIndex &parent=QModelIndex()) const |
Reimplemented Function More... | |
void | fetchMore (const QModelIndex &parent=QModelIndex()) |
Fetches more rows from a database. More... | |
bool | insertColumns (int column, int count, const QModelIndex &parent=QModelIndex()) |
Inserts count columns into the model at position column. More... | |
QSqlError | lastError () const |
Returns information about the last error that occurred on the database. More... | |
QSqlQueryModel (QObject *parent=0) | |
Creates an empty QSqlQueryModel with the given parent. More... | |
QSqlQuery | query () const |
Returns the QSqlQuery associated with this model. More... | |
QSqlRecord | record (int row) const |
Returns the record containing information about the fields of the current query. More... | |
QSqlRecord | record () const |
Returns an empty record containing information about the fields of the current query. More... | |
bool | setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role=Qt::EditRole) |
Sets the caption for a horizontal header for the specified role to value. More... | |
void | setQuery (const QSqlQuery &query) |
Resets the model and sets the data provider to be the given query. More... | |
void | setQuery (const QString &query, const QSqlDatabase &db=QSqlDatabase()) |
Executes the query query for the given database connection db. More... | |
virtual | ~QSqlQueryModel () |
Destroys the object and frees any allocated resources. More... | |
Public Functions inherited from QAbstractTableModel | |
bool | dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) |
Reimplemented Function More... | |
QModelIndex | index (int row, int column, const QModelIndex &parent=QModelIndex()) const |
Returns the index of the data in row and column with parent. More... | |
QAbstractTableModel (QObject *parent=0) | |
Constructs an abstract table model for the given parent. More... | |
~QAbstractTableModel () | |
Destroys the abstract table model. More... | |
Public Functions inherited from QAbstractItemModel | |
virtual QModelIndex | buddy (const QModelIndex &index) const |
Returns a model index for the buddy of the item represented by index. More... | |
bool | hasIndex (int row, int column, const QModelIndex &parent=QModelIndex()) const |
Returns true if the model returns a valid QModelIndex for row and column with parent, otherwise returns false. More... | |
bool | insertColumn (int column, const QModelIndex &parent=QModelIndex()) |
Inserts a single column before the given column in the child items of the parent specified. More... | |
bool | insertRow (int row, const QModelIndex &parent=QModelIndex()) |
Inserts a single row before the given row in the child items of the parent specified. More... | |
virtual QMap< int, QVariant > | itemData (const QModelIndex &index) const |
Returns a map with values for all predefined roles in the model for the item at the given index. More... | |
virtual QModelIndexList | match (const QModelIndex &start, int role, const QVariant &value, int hits=1, Qt::MatchFlags flags=Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap)) const |
Returns a list of indexes for the items in the column of the start index where data stored under the given role matches the specified value. More... | |
virtual QMimeData * | mimeData (const QModelIndexList &indexes) const |
Returns an object that contains serialized items of data corresponding to the list of indexes specified. More... | |
virtual QStringList | mimeTypes () const |
Returns a list of MIME types that can be used to describe a list of model indexes. More... | |
QAbstractItemModel (QObject *parent=0) | |
Constructs an abstract item model with the given parent. More... | |
bool | removeColumn (int column, const QModelIndex &parent=QModelIndex()) |
Removes the given column from the child items of the parent specified. More... | |
bool | removeRow (int row, const QModelIndex &parent=QModelIndex()) |
Removes the given row from the child items of the parent specified. More... | |
const QHash< int, QByteArray > & | roleNames () const |
Returns the model's role names. More... | |
virtual bool | setItemData (const QModelIndex &index, const QMap< int, QVariant > &roles) |
Sets the role data for the item at index to the associated value in roles, for every Qt::ItemDataRole. More... | |
void | setSupportedDragActions (Qt::DropActions) |
Sets the supported drag actions for the items in the model. More... | |
QModelIndex | sibling (int row, int column, const QModelIndex &idx) const |
Returns the sibling at row and column for the item at index, or an invalid QModelIndex if there is no sibling at that location. More... | |
virtual QSize | span (const QModelIndex &index) const |
Returns the row and column span of the item represented by index. More... | |
Qt::DropActions | supportedDragActions () const |
Returns the actions supported by the data in this model. More... | |
virtual Qt::DropActions | supportedDropActions () const |
Returns the drop actions supported by this model. More... | |
virtual | ~QAbstractItemModel () |
Destroys the abstract item model. More... | |
Public Functions inherited from QObject | |
bool | blockSignals (bool b) |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More... | |
const QObjectList & | children () const |
Returns a list of child objects. More... | |
bool | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0) |
bool | disconnect (const QObject *receiver, const char *member=0) |
void | dumpObjectInfo () |
Dumps information about signal connections, etc. More... | |
void | dumpObjectTree () |
Dumps a tree of children to the debug output. More... | |
QList< QByteArray > | dynamicPropertyNames () const |
Returns the names of all properties that were dynamically added to the object using setProperty(). More... | |
virtual bool | event (QEvent *) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. More... | |
virtual bool | eventFilter (QObject *, QEvent *) |
Filters events if this object has been installed as an event filter for the watched object. More... | |
template<typename T > | |
T | findChild (const QString &aName=QString()) const |
Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More... | |
template<typename T > | |
QList< T > | findChildren (const QString &aName=QString()) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More... | |
template<typename T > | |
QList< T > | findChildren (const QRegExp &re) const |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More... | |
void | installEventFilter (QObject *) |
Installs an event filter filterObj on this object. More... | |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false. More... | |
void | killTimer (int id) |
Kills the timer with timer identifier, id. More... | |
virtual const QMetaObject * | metaObject () const |
Returns a pointer to the meta-object of this object. More... | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. More... | |
QString | objectName () const |
QObject * | parent () const |
Returns a pointer to the parent object. More... | |
QVariant | property (const char *name) const |
Returns the value of the object's name property. More... | |
Q_INVOKABLE | QObject (QObject *parent=0) |
Constructs an object with parent object parent. More... | |
void | removeEventFilter (QObject *) |
Removes an event filter object obj from this object. More... | |
void | setObjectName (const QString &name) |
void | setParent (QObject *) |
Makes the object a child of parent. More... | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. More... | |
void | setUserData (uint id, QObjectUserData *data) |
bool | signalsBlocked () const |
Returns true if signals are blocked; otherwise returns false. More... | |
int | startTimer (int interval) |
Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More... | |
QThread * | thread () const |
Returns the thread in which the object lives. More... | |
QObjectUserData * | userData (uint id) const |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. More... | |
Protected Functions | |
virtual bool | deleteRowFromTable (int row) |
Deletes the given row from the currently active database table. More... | |
QModelIndex | indexInQuery (const QModelIndex &item) const |
Returns the index of the value in the database result set for the given item in the model. More... | |
virtual bool | insertRowIntoTable (const QSqlRecord &values) |
Inserts the values values into the currently active database table. More... | |
virtual QString | orderByClause () const |
Returns an SQL ORDER BY clause based on the currently set sort order. More... | |
QSqlTableModel (QSqlTableModelPrivate &dd, QObject *parent=0, QSqlDatabase db=QSqlDatabase()) | |
virtual QString | selectStatement () const |
Returns the SQL SELECT statement used internally to populate the model. More... | |
void | setPrimaryKey (const QSqlIndex &key) |
Protected method that allows subclasses to set the primary key to key. More... | |
void | setQuery (const QSqlQuery &query) |
This function simply calls QSqlQueryModel::setQuery(query). More... | |
virtual bool | updateRowInTable (int row, const QSqlRecord &values) |
Updates the given row in the currently active database table with the specified values. More... | |
Protected Functions inherited from QSqlQueryModel | |
QModelIndex | indexInQuery (const QModelIndex &item) const |
Returns the index of the value in the database result set for the given item in the model. More... | |
QSqlQueryModel (QSqlQueryModelPrivate &dd, QObject *parent=0) | |
virtual void | queryChange () |
This virtual function is called whenever the query changes. More... | |
void | setLastError (const QSqlError &error) |
Protected function which allows derived classes to set the value of the last error that occurred on the database to error. More... | |
Protected Functions inherited from QAbstractTableModel | |
QAbstractTableModel (QAbstractItemModelPrivate &dd, QObject *parent) | |
Constructs an abstract table model with dd and the given parent. More... | |
Protected Functions inherited from QAbstractItemModel | |
void | beginInsertColumns (const QModelIndex &parent, int first, int last) |
Begins a column insertion operation. More... | |
void | beginInsertRows (const QModelIndex &parent, int first, int last) |
Begins a row insertion operation. More... | |
bool | beginMoveColumns (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationColumn) |
Begins a column move operation. More... | |
bool | beginMoveRows (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationRow) |
Begins a row move operation. More... | |
void | beginRemoveColumns (const QModelIndex &parent, int first, int last) |
Begins a column removal operation. More... | |
void | beginRemoveRows (const QModelIndex &parent, int first, int last) |
Begins a row removal operation. More... | |
void | beginResetModel () |
Begins a model reset operation. More... | |
void | changePersistentIndex (const QModelIndex &from, const QModelIndex &to) |
Changes the QPersistentModelIndex that is equal to the given from model index to the given to model index. More... | |
void | changePersistentIndexList (const QModelIndexList &from, const QModelIndexList &to) |
Changes the QPersistentModelIndexes that is equal to the indexes in the given from model index list to the given to model index list. More... | |
QModelIndex | createIndex (int row, int column, void *data=0) const |
Creates a model index for the given row and column with the internal pointer ptr. More... | |
QModelIndex | createIndex (int row, int column, int id) const |
Use QModelIndex QAbstractItemModel::createIndex(int row, int column, quint32 id) instead. More... | |
QModelIndex | createIndex (int row, int column, quint32 id) const |
Creates a model index for the given row and column with the internal identifier, id. More... | |
bool | decodeData (int row, int column, const QModelIndex &parent, QDataStream &stream) |
void | encodeData (const QModelIndexList &indexes, QDataStream &stream) const |
void | endInsertColumns () |
Ends a column insertion operation. More... | |
void | endInsertRows () |
Ends a row insertion operation. More... | |
void | endMoveColumns () |
Ends a column move operation. More... | |
void | endMoveRows () |
Ends a row move operation. More... | |
void | endRemoveColumns () |
Ends a column removal operation. More... | |
void | endRemoveRows () |
Ends a row removal operation. More... | |
void | endResetModel () |
Completes a model reset operation. More... | |
QModelIndexList | persistentIndexList () const |
Returns the list of indexes stored as persistent indexes in the model. More... | |
QAbstractItemModel (QAbstractItemModelPrivate &dd, QObject *parent=0) | |
void | reset () |
Resets the model to its original state in any attached views. More... | |
void | setRoleNames (const QHash< int, QByteArray > &roleNames) |
Sets the model's role names to roleNames. More... | |
Protected Functions inherited from QObject | |
virtual void | childEvent (QChildEvent *) |
This event handler can be reimplemented in a subclass to receive child events. More... | |
virtual void | connectNotify (const char *signal) |
This virtual function is called when something has been connected to signal in this object. More... | |
virtual void | customEvent (QEvent *) |
This event handler can be reimplemented in a subclass to receive custom events. More... | |
virtual void | disconnectNotify (const char *signal) |
This virtual function is called when something has been disconnected from signal in this object. More... | |
QObject (QObjectPrivate &dd, QObject *parent=0) | |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. More... | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More... | |
int | senderSignalIndex () const |
virtual void | timerEvent (QTimerEvent *) |
This event handler can be reimplemented in a subclass to receive timer events for the object. More... | |
Additional Inherited Members | |
Static Public Functions inherited from QObject | |
static bool | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More... | |
static bool | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
Disconnects signal in object sender from method in object receiver. More... | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static uint | registerUserData () |
static QString | tr (const char *sourceText, const char *comment=0, int n=-1) |
static QString | trUtf8 (const char *sourceText, const char *comment=0, int n=-1) |
Static Public Variables inherited from QObject | |
static const QMetaObject | staticMetaObject |
This variable stores the meta-object for the class. More... | |
Protected Slots inherited from QAbstractItemModel | |
void | resetInternalData () |
This slot is called just after the internal data of a model is cleared while it is being reset. More... | |
Protected Variables inherited from QObject | |
QScopedPointer< QObjectData > | d_ptr |
Static Protected Variables inherited from QObject | |
static const QMetaObject | staticQtMetaObject |
Related Functions inherited from QObject | |
T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QRegExp ®Exp)() |
T * | qobject_cast (QObject *object) |
QObjectList | |
void * | qt_find_obj_child (QObject *parent, const char *type, const QString &name) |
Returns a pointer to the object named name that inherits type and with a given parent. More... | |
The QSqlTableModel class provides an editable data model for a single database table.
QSqlTableModel is a high-level interface for reading and writing database records from a single table. It is build on top of the lower-level QSqlQuery and can be used to provide data to view classes such as QTableView. For example:
We set the SQL table's name and the edit strategy, then we set up the labels displayed in the view header. The edit strategy dictates when the changes done by the user in the view are actually applied to the database. The possible values are OnFieldChange , OnRowChange , and OnManualSubmit .
QSqlTableModel can also be used to access a database programmatically, without binding it to a view:
The code snippet above extracts the salary
field from record 4 in the result set of the query SELECT * from employee
.
It is possible to set filters using setFilter(), or modify the sort order using setSort(). At the end, you must call select() to populate the model with data.
The sql/tablemodel example illustrates how to use QSqlTableModel as the data source for a QTableView.
QSqlTableModel provides no direct support for foreign keys. Use the QSqlRelationalTableModel and QSqlRelationalDelegate if you want to resolve foreign keys.
Definition at line 59 of file qsqltablemodel.h.
This enum type describes which strategy to choose when editing values in the database.
Note: To prevent inserting only partly initialized rows into the database, OnFieldChange
will behave like OnRowChange
for newly inserted rows.
Enumerator | |
---|---|
OnFieldChange | |
OnRowChange | |
OnManualSubmit |
Definition at line 65 of file qsqltablemodel.h.
|
explicit |
Creates an empty QSqlTableModel and sets the parent to parent and the database connection to db.
If db is not valid, the default database connection will be used.
The default edit strategy is OnRowChange .
Definition at line 370 of file qsqltablemodel.cpp.
|
virtual |
Destroys the object and frees any allocated resources.
Definition at line 389 of file qsqltablemodel.cpp.
|
protected |
Definition at line 379 of file qsqltablemodel.cpp.
|
signal |
This signal is emitted by deleteRowFromTable() before the row is deleted from the currently active database table.
Referenced by deleteRowFromTable().
|
signal |
This signal is emitted by insertRowIntoTable() before a new row is inserted into the currently active database table.
The values that are about to be inserted are stored in record and can be modified before they will be inserted.
Referenced by insertRowIntoTable().
|
signal |
This signal is emitted by updateRowInTable() before the row is updated in the currently active database table with the values from record.
Note that only values that are marked as generated will be updated. The generated flag can be set with QSqlRecord::setGenerated() and checked with QSqlRecord::isGenerated() .
Referenced by updateRowInTable().
|
virtual |
Reimplemented Function
Reimplemented from QSqlQueryModel.
Definition at line 1325 of file qsqltablemodel.cpp.
Referenced by QSqlRelationalTableModel::clear(), and setTable().
|
virtual |
Reimplemented Function
Reimplemented from QSqlQueryModel.
Definition at line 457 of file qsqltablemodel.cpp.
Referenced by QSqlRelationalTableModel::data().
QSqlDatabase QSqlTableModel::database | ( | ) | const |
Returns a pointer to the used QSqlDatabase or 0 if no database was set.
Definition at line 976 of file qsqltablemodel.cpp.
Referenced by QRelation::populateDictionary(), QRelation::populateModel(), and QSqlRelationalTableModel::selectStatement().
|
protectedvirtual |
Deletes the given row from the currently active database table.
This is a low-level method that operates directly on the database and should not be called directly. Use removeRow() or removeRows() to delete values. The model will decide depending on its edit strategy when to modify the database.
Returns true if the row was deleted; otherwise returns false.
Definition at line 707 of file qsqltablemodel.cpp.
Referenced by removeRows(), and submitAll().
QSqlTableModel::EditStrategy QSqlTableModel::editStrategy | ( | ) | const |
Returns the current edit strategy.
Definition at line 886 of file qsqltablemodel.cpp.
int QSqlTableModel::fieldIndex | ( | const QString & | fieldName | ) | const |
Returns the index of the field fieldName, or -1 if no corresponding field exists in the model.
Definition at line 1037 of file qsqltablemodel.cpp.
QString QSqlTableModel::filter | ( | ) | const |
Returns the currently set filter.
Definition at line 1297 of file qsqltablemodel.cpp.
Referenced by QSqlRelationalTableModel::selectStatement(), and setFilter().
|
virtual |
Reimplemented Function
Reimplemented from QAbstractItemModel.
Definition at line 1334 of file qsqltablemodel.cpp.
|
virtual |
Reimplemented Function
Reimplemented from QSqlQueryModel.
Definition at line 498 of file qsqltablemodel.cpp.
|
protected |
Returns the index of the value in the database result set for the given item in the model.
The return value is identical to item if no columns or rows have been inserted, removed, or moved around.
Returns an invalid model index if item is out of bounds or if item does not point to a value in the result set.
Definition at line 1272 of file qsqltablemodel.cpp.
Referenced by data(), removeRows(), setData(), and setRecord().
bool QSqlTableModel::insertRecord | ( | int | row, |
const QSqlRecord & | record | ||
) |
Inserts the record after row.
If row is negative, the record will be appended to the end. Calls insertRows() and setRecord() internally.
Returns true if the row could be inserted, otherwise false.
Definition at line 1224 of file qsqltablemodel.cpp.
|
protectedvirtual |
Inserts the values values into the currently active database table.
This is a low-level method that operates directly on the database and should not be called directly. Use insertRow() and setData() to insert values. The model will decide depending on its edit strategy when to modify the database.
Returns true if the values could be inserted, otherwise false. Error information can be retrieved with lastError() .
Reimplemented in QSqlRelationalTableModel.
Definition at line 676 of file qsqltablemodel.cpp.
Referenced by QSqlRelationalTableModel::insertRowIntoTable(), and submitAll().
|
virtual |
Inserts count empty rows at position row.
Note that parent must be invalid, since this model does not support parent-child relations.
Only one row at a time can be inserted when using the OnFieldChange or OnRowChange update strategies.
The primeInsert() signal will be emitted for each new row. Connect to it if you want to initialize the new row with default values.
Returns false if the parameters are out of bounds; otherwise returns true.
Reimplemented from QAbstractItemModel.
Definition at line 1175 of file qsqltablemodel.cpp.
bool QSqlTableModel::isDirty | ( | const QModelIndex & | index | ) | const |
Returns true if the value at the index index is dirty, otherwise false.
Dirty values are values that were modified in the model but not yet written into the database.
If index is invalid or points to a non-existing row, false is returned.
Definition at line 527 of file qsqltablemodel.cpp.
|
protectedvirtual |
Returns an SQL ORDER BY
clause based on the currently set sort order.
Reimplemented in QSqlRelationalTableModel.
Definition at line 1015 of file qsqltablemodel.cpp.
Referenced by QSqlRelationalTableModel::orderByClause(), and selectStatement().
QSqlIndex QSqlTableModel::primaryKey | ( | ) | const |
Returns the primary key for the current table, or an empty QSqlIndex if the table is not set or has no primary key.
Definition at line 952 of file qsqltablemodel.cpp.
|
signal |
This signal is emitted by insertRows(), when an insertion is initiated in the given row of the currently active database table.
The record parameter can be written to (since it is a reference), for example to populate some fields with default values.
Referenced by insertRows().
|
virtual |
Removes count columns from the parent model, starting at index column.
Returns if the columns were successfully removed; otherwise returns false.
Reimplemented from QSqlQueryModel.
Definition at line 1092 of file qsqltablemodel.cpp.
Referenced by QSqlRelationalTableModel::removeColumns().
|
virtual |
Removes count rows starting at row.
Since this model does not support hierarchical structures, parent must be an invalid model index.
Emits the beforeDelete() signal before a row is deleted. When the edit strategy is OnManualSubmit signal emission is delayed until submitAll() is called.
Returns true if all rows could be removed; otherwise returns false. Detailed error information can be retrieved using lastError().
Reimplemented from QAbstractItemModel.
Definition at line 1119 of file qsqltablemodel.cpp.
|
slot |
This reimplemented slot is called by the item delegates when the user canceled editing the current row.
Reverts the changes if the model's strategy is set to OnRowChange. Does nothing for the other edit strategies.
Use revertAll() to revert all pending changes for the OnManualSubmit strategy or revertRow() to revert a specific row.
Definition at line 839 of file qsqltablemodel.cpp.
|
slot |
Reverts all pending changes.
Definition at line 897 of file qsqltablemodel.cpp.
Referenced by revert(), select(), and setEditStrategy().
|
virtual |
Reverts all changes for the specified row.
Definition at line 921 of file qsqltablemodel.cpp.
Referenced by removeRows(), revertAll(), and QSqlRelationalTableModel::revertRow().
|
virtual |
Reimplemented Function
Reimplemented from QSqlQueryModel.
Definition at line 1240 of file qsqltablemodel.cpp.
Referenced by insertRecord(), insertRows(), QRelation::populateDictionary(), removeRows(), setData(), setRecord(), and updateRowInTable().
|
virtual |
Populates the model with data from the table that was set via setTable(), using the specified filter and sort condition, and returns true if successful; otherwise returns false.
Reimplemented in QRelatedTableModel, and QSqlRelationalTableModel.
Definition at line 435 of file qsqltablemodel.cpp.
Referenced by removeColumns(), removeRows(), QSqlRelationalTableModel::select(), QRelatedTableModel::select(), setData(), setFilter(), sort(), and submitAll().
|
protectedvirtual |
Returns the SQL SELECT
statement used internally to populate the model.
The statement includes the filter and the ORDER BY
clause.
Reimplemented in QSqlRelationalTableModel.
Definition at line 1050 of file qsqltablemodel.cpp.
Referenced by select(), and QSqlRelationalTableModel::selectStatement().
|
virtual |
Sets the data for the item index for the role role to value.
Depending on the edit strategy, the value might be applied to the database at once or cached in the model.
Returns true if the value could be set or false on error, for example if index is out of bounds.
Reimplemented from QAbstractItemModel.
Definition at line 559 of file qsqltablemodel.cpp.
Referenced by QSqlRelationalTableModel::setData().
|
virtual |
Sets the strategy for editing values in the database to strategy.
This will revert any pending changes.
Definition at line 874 of file qsqltablemodel.cpp.
|
virtual |
Sets the current filter to filter.
The filter is a SQL WHERE
clause without the keyword WHERE
(for example, name='Josephine')
.
If the model is already populated with data from a database, the model re-selects it with the new filter. Otherwise, the filter will be applied the next time select() is called.
Definition at line 1315 of file qsqltablemodel.cpp.
|
protected |
Protected method that allows subclasses to set the primary key to key.
Normally, the primary index is set automatically whenever you call setTable().
Definition at line 967 of file qsqltablemodel.cpp.
|
protected |
This function simply calls QSqlQueryModel::setQuery(query).
You should normally not call it on a QSqlTableModel. Instead, use setTable(), setSort(), setFilter(), etc., to set up the query.
Definition at line 618 of file qsqltablemodel.cpp.
Referenced by select().
bool QSqlTableModel::setRecord | ( | int | row, |
const QSqlRecord & | record | ||
) |
Sets the values at the specified row to the values of record.
Returns true if all the values could be set; otherwise returns false.
Definition at line 1352 of file qsqltablemodel.cpp.
Referenced by insertRecord().
|
virtual |
Sets the sort order for column to order.
This does not affect the current data, to refresh the data using the new sort order, call select().
Definition at line 1002 of file qsqltablemodel.cpp.
Referenced by sort().
|
virtual |
Sets the database table on which the model operates to tableName.
Does not select data from the table, but fetches its field information.
To populate the model with the table's data, call select().
Error information can be retrieved with lastError() .
Reimplemented in QSqlRelationalTableModel.
Definition at line 404 of file qsqltablemodel.cpp.
Referenced by QRelation::populateModel(), and QSqlRelationalTableModel::setTable().
|
virtual |
Sorts the data by column with the sort order order.
This will immediately select data, use setSort() to set a sort order without populating the model with data.
Reimplemented from QAbstractItemModel.
Definition at line 989 of file qsqltablemodel.cpp.
|
slot |
This reimplemented slot is called by the item delegates when the user stopped editing the current row.
Submits the currently edited row if the model's strategy is set to OnRowChange or OnFieldChange. Does nothing for the OnManualSubmit strategy.
Use submitAll() to submit all pending changes for the OnManualSubmit strategy.
Returns true on success; otherwise returns false. Use lastError() to query detailed error information.
On success the model will be repopulated. Any views presenting it will lose their selections.
Definition at line 819 of file qsqltablemodel.cpp.
Referenced by insertRecord(), and setData().
|
slot |
Submits all pending changes and returns true on success.
Returns false on error, detailed error information can be obtained with lastError().
On success the model will be repopulated. Any views presenting it will lose their selections.
Note: In OnManualSubmit mode, already submitted changes won't be cleared from the cache when submitAll() fails. This allows transactions to be rolled back and resubmitted again without losing data.
Definition at line 748 of file qsqltablemodel.cpp.
Referenced by submit().
QString QSqlTableModel::tableName | ( | ) | const |
Returns the name of the currently selected table.
Definition at line 420 of file qsqltablemodel.cpp.
Referenced by QSqlRelationalTableModelPrivate::QSqlRelationalTableModelPrivate(), QSqlRelationalTableModel::selectStatement(), and setTable().
|
protectedvirtual |
Updates the given row in the currently active database table with the specified values.
Returns true if successful; otherwise returns false.
This is a low-level method that operates directly on the database and should not be called directly. Use setData() to update values. The model will decide depending on its edit strategy when to modify the database.
Note that only values that have the generated-flag set are updated. The generated-flag can be set with QSqlRecord::setGenerated() and tested with QSqlRecord::isGenerated().
Reimplemented in QSqlRelationalTableModel.
Definition at line 639 of file qsqltablemodel.cpp.
Referenced by setData(), submitAll(), and QSqlRelationalTableModel::updateRowInTable().