Sur cette page

QSqlError Class

La classe QSqlError fournit des informations sur les erreurs liées aux bases de données SQL. En savoir plus...

En-tête : #include <QSqlError>
CMake : find_package(Qt6 REQUIRED COMPONENTS Sql)
target_link_libraries(mytarget PRIVATE Qt6::Sql)
qmake : QT += sql

Types publics

enum ErrorType { NoError, ConnectionError, StatementError, TransactionError, UnknownError }

Fonctions publiques

QSqlError(const QString &driverText = QString(), const QString &databaseText = QString(), QSqlError::ErrorType type = NoError, const QString &nativeErrorCode = QString())
QSqlError(const QSqlError &other)
QSqlError(QSqlError &&other)
~QSqlError()
QString databaseText() const
QString driverText() const
bool isValid() const
QString nativeErrorCode() const
void swap(QSqlError &other)
QString text() const
QSqlError::ErrorType type() const
bool operator!=(const QSqlError &other) const
QSqlError &operator=(QSqlError &&other)
QSqlError &operator=(const QSqlError &other)
bool operator==(const QSqlError &other) const

Description détaillée

Un objet QSqlError peut fournir des données d'erreur spécifiques à la base de données, notamment les messages driverText() et databaseText() (ou les deux concaténés sous la forme text()), ainsi que les messages nativeErrorCode() et type().

Voir également QSqlDatabase::lastError() et QSqlQuery::lastError().

Documentation sur les types de membres

enum QSqlError::ErrorType

Ce type d'énumération décrit le contexte dans lequel l'erreur s'est produite, par exemple une erreur de connexion, une erreur d'instruction, etc.

ConstanteValeurDescription
QSqlError::NoError0Aucune erreur ne s'est produite.
QSqlError::ConnectionError1Erreur de connexion.
QSqlError::StatementError2Erreur de syntaxe de l'instruction SQL.
QSqlError::TransactionError3Échec de la transaction.
QSqlError::UnknownError4Erreur inconnue.

Documentation sur les fonctions membres

QSqlError::QSqlError(const QString &driverText = QString(), const QString &databaseText = QString(), QSqlError::ErrorType type = NoError, const QString &nativeErrorCode = QString())

Crée une erreur contenant le texte d'erreur du pilote driverText, le texte d'erreur spécifique à la base de données databaseText, le type type et le code d'erreur natif nativeErrorCode.

QSqlError::QSqlError(const QSqlError &other)

Crée une copie de other.

[constexpr noexcept default] QSqlError::QSqlError(QSqlError &&other)

La méthode `move` construit une instance de `QSqlError` en la faisant pointer vers le même objet que celui vers lequel pointait ` other `.

Remarque : l'objet d'origine other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l'affectation d'une nouvelle valeur.

[noexcept] QSqlError::~QSqlError()

Détruit l'objet et libère toutes les ressources allouées.

QString QSqlError::databaseText() const

Renvoie le texte de l'erreur tel qu'il a été signalé par la base de données. Ce texte peut contenir des descriptions spécifiques à la base de données ; il peut être vide.

Voir également driverText() et text().

QString QSqlError::driverText() const

Renvoie le texte de l'erreur tel qu'il a été signalé par le pilote. Celui-ci peut contenir des descriptions spécifiques à la base de données. Il peut également être vide.

Voir aussi databaseText() et text().

bool QSqlError::isValid() const

Renvoie « true » si une erreur est enregistrée, sinon « false ».

Exemple :

QSqlQueryModel model;
model.setQuery("select * from myTable");
if (model.lastError().isValid())
    qDebug() << model.lastError();

Voir également type().

QString QSqlError::nativeErrorCode() const

Renvoie le code d'erreur spécifique à la base de données (natif), ou une chaîne vide s'il est impossible de le déterminer.

Remarque : certains pilotes (tels que DB2 ou ODBC) peuvent renvoyer plusieurs codes d'erreur. Dans ce cas, la chaîne « ; » est utilisée comme séparateur entre les codes d'erreur.

[noexcept] void QSqlError::swap(QSqlError &other)

Remplace cette erreur par other. Cette opération est très rapide et ne plante jamais.

QString QSqlError::text() const

Il s'agit d'une fonction pratique qui renvoie les résultats de databaseText() et driverText() concaténés en une seule chaîne de caractères.

Voir également driverText() et databaseText().

QSqlError::ErrorType QSqlError::type() const

Renvoie le type d'erreur, ou -1 si le type ne peut pas être déterminé.

bool QSqlError::operator!=(const QSqlError &other) const

Compare les méthodes type() et nativeErrorCode() de l'erreur « other » à celles de cette erreur et renvoie true si elles ne sont pas identiques.

[noexcept] QSqlError &QSqlError::operator=(QSqlError &&other)

Cette opération attribue other à cette instance de QSqlError.

Remarque : l’objet d’origine other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l’affectation d’une nouvelle valeur.

QSqlError &QSqlError::operator=(const QSqlError &other)

Attribue à cette erreur les valeurs de l'erreur « other ».

bool QSqlError::operator==(const QSqlError &other) const

Compare les méthodes type() et nativeErrorCode() de l'erreur « other » à celles de cette erreur et renvoie true si elles sont identiques.

© 2026 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.