This overview assumes that you have at least a basic knowledge of SQL. You should be able to understand simple
DELETE statements. Although the QSqlTableModel class provides an interface to database browsing and editing that does not require a knowledge of SQL, a basic understanding of SQL is highly recommended. A standard text covering SQL databases is An Introduction to Database Systems (7th Ed.) by C. J. Date, ISBN 0201385902.
- Database Classes
- Connecting to Databases
- Executing SQL Statements
- Using the SQL Model Classes
- Presenting Data in a Table View
- Creating Data-Aware Forms
These classes provide access to SQL databases.
Handles a connection to a database
Template class that provides a SQL driver factory for a specific driver type
The base class for SQL driver factories
Abstract base class for accessing specific SQL databases
SQL database error information
Manipulates the fields in SQL database tables and views
Functions to manipulate and describe database indexes
Means of executing and manipulating SQL statements
Encapsulates a database record
Abstract interface for accessing data from specific SQL databases
Contains miscellaneous identifiers used throughout the Qt SQL module
Read-only data model for SQL result sets
Editable data model for a single database table, with foreign key support
Editable data model for a single database table
The SQL classes are divided into three layers:
This layer provides the low-level bridge between the specific databases and the SQL API layer. See SQL Database Drivers for more information.
SQL API Layer
These classes provide access to databases. Connections are made using the QSqlDatabase class. Database interaction is achieved by using the QSqlQuery class. In addition to QSqlDatabase and QSqlQuery, the SQL API layer is supported by QSqlError, QSqlField, QSqlIndex, and QSqlRecord.
User Interface Layer
These classes link the data from a database to data-aware widgets. They include QSqlQueryModel, QSqlTableModel, and QSqlRelationalTableModel. These classes are designed to work with Qt's model/view framework.
Note that a QCoreApplication object must be instantiated before using any of these classes.
© 2017 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.