18.14. Data Definitions for libQtSql

This section defines global identifiers and their values that are associated with interfaces contained in libQtSql. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect.

This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications.

This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages.

18.14.1. QtSql/qsql.h


enum QSql::Location {
    AfterLastRow = -2,
    AfterLast = -2,
    BeforeFirstRow = -1,
    BeforeFirst = -1
};
enum QSql::ParamTypeFlag {
    In = 1,
    Out = 2,
    InOut = 3,
    Binary = 4
};
class QFlags < QSql::ParamTypeFlag >;
typedef class QFlags < QSql::ParamTypeFlag > QSql::ParamType;
enum QSql::TableType {
    Tables = 1,
    SystemTables = 2,
    Views = 4,
    AllTables = 255
};
enum QSql::Op {
    None = -1,
    Insert = 0,
    Update = 1,
    Delete = 2
};
enum QSql::Confirm {
    Cancel = -1,
    No = 0,
    Yes = 1
};

18.14.2. QtSql/qsqldatabase.h


class QSqlDriverCreatorBase;
class QSqlDatabase;

18.14.3. QtSql/qsqldriver.h


class QSqlDriver;
enum QSqlDriver::DriverFeature {
    Transactions = 0,
    QuerySize = 1,
    BLOB = 2,
    Unicode = 3,
    PreparedQueries = 4,
    NamedPlaceholders = 5,
    PositionalPlaceholders = 6,
    LastInsertId = 7,
    BatchOperations = 8
};
enum QSqlDriver::StatementType {
    WhereStatement = 0,
    SelectStatement = 1,
    UpdateStatement = 2,
    InsertStatement = 3,
    DeleteStatement = 4
};
enum QSqlDriver::IdentifierType {
    FieldName = 0,
    TableName = 1
};

18.14.4. QtSql/qsqldriverplugin.h


struct QSqlDriverFactoryInterface;
class QSqlDriverPlugin;

18.14.5. QtSql/qsqlerror.h


class QSqlError;
enum QSqlError::ErrorType {
    NoError = 0,
    None = 0,
    ConnectionError = 1,
    Connection = 1,
    StatementError = 2,
    Statement = 2,
    TransactionError = 3,
    Transaction = 3,
    UnknownError = 4,
    Unknown = 4
};

18.14.6. QtSql/qsqlfield.h


class QSqlField;
enum QSqlField::RequiredStatus {
    Unknown = -1,
    Optional = 0,
    Required = 1
};

18.14.7. QtSql/qsqlindex.h


class QSqlIndex;

18.14.8. QtSql/qsqlquery.h


class QSqlQuery;

18.14.9. QtSql/qsqlquerymodel.h


class QSqlQueryModel;

18.14.10. QtSql/qsqlrecord.h


class QSqlRecord;

18.14.11. QtSql/qsqlrelationaltablemodel.h


typedef enum QtValidLicenseForSqlModule QtSqlModule;
class QSqlRelation;
class QSqlRelationalTableModel;

18.14.12. QtSql/qsqlresult.h


class QSqlResult;
enum QSqlResult::BindingSyntax {
    PositionalBinding = 0,
    BindByPosition = 0,
    NamedBinding = 1,
    BindByName = 1
};
enum QSqlResult::VirtualHookOperation {
    BatchOperation = 0
};

18.14.13. QtSql/qsqltablemodel.h


class QSqlTableModel;
enum QSqlTableModel::EditStrategy {
    OnFieldChange = 0,
    OnRowChange = 1,
    OnManualSubmit = 2
};