QSqlError Class

Die Klasse QSqlError liefert Informationen über SQL-Datenbankfehler. Mehr...

Kopfzeile: #include <QSqlError>
CMake: find_package(Qt6 REQUIRED COMPONENTS Sql)
target_link_libraries(mytarget PRIVATE Qt6::Sql)
qmake: QT += sql

Öffentliche Typen

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

Öffentliche Funktionen

QSqlError(const QString &driverText = QString(), const QString &databaseText = QString(), QSqlError::ErrorType type = NoError, const QString &code = 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

Detaillierte Beschreibung

Ein QSqlError-Objekt kann datenbankspezifische Fehlerdaten bereitstellen, einschließlich der Meldungen driverText() und databaseText() (oder beide zusammen als text()), sowie nativeErrorCode() und type().

Siehe auch QSqlDatabase::lastError() und QSqlQuery::lastError().

Dokumentation der Mitgliedstypen

enum QSqlError::ErrorType

Dieser Enum-Typ beschreibt den Kontext, in dem der Fehler aufgetreten ist, z. B. ein Verbindungsfehler, ein Anweisungsfehler usw.

KonstanteWertBeschreibung
QSqlError::NoError0Kein Fehler aufgetreten.
QSqlError::ConnectionError1Verbindungsfehler.
QSqlError::StatementError2SQL-Anweisungs-Syntaxfehler.
QSqlError::TransactionError3Transaktionsfehler.
QSqlError::UnknownError4Unbekannter Fehler.

Dokumentation der Mitgliedsfunktionen

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

Konstruiert einen Fehler, der den Treiberfehlertext driverText, den datenbankspezifischen Fehlertext databaseText, den Typ type und den Fehlercode code enthält.

QSqlError::QSqlError(const QSqlError &other)

Erzeugt eine Kopie von other.

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

Move-konstruiert eine QSqlError-Instanz, die auf dasselbe Objekt zeigt, auf das other gezeigt hat.

Hinweis: Das verschobene Objekt other wird in einen teilweise gebildeten Zustand versetzt, in dem die einzigen gültigen Operationen Zerstörung und Zuweisung eines neuen Wertes sind.

[noexcept] QSqlError::~QSqlError()

Zerstört das Objekt und gibt alle zugewiesenen Ressourcen frei.

QString QSqlError::databaseText() const

Gibt den Text des Fehlers zurück, wie er von der Datenbank gemeldet wurde. Dieser kann datenbankspezifische Beschreibungen enthalten; er kann auch leer sein.

Siehe auch driverText() und text().

QString QSqlError::driverText() const

Gibt den Text des Fehlers zurück, wie er vom Treiber gemeldet wurde. Dieser kann datenbankspezifische Beschreibungen enthalten. Er kann auch leer sein.

Siehe auch databaseText() und text().

bool QSqlError::isValid() const

Gibt true zurück, wenn ein Fehler gesetzt ist, sonst false.

Beispiel:

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

Siehe auch type().

QString QSqlError::nativeErrorCode() const

Gibt den datenbankspezifischen Fehlercode zurück, oder eine leere Zeichenkette, wenn er nicht ermittelt werden kann.

Hinweis: Einige Treiber (wie DB2 oder ODBC) können mehr als einen Fehlercode zurückgeben. Wenn dies der Fall ist, wird ; als Trennzeichen zwischen den Fehlercodes verwendet.

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

Tauscht diesen Fehler mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.

QString QSqlError::text() const

Dies ist eine Komfortfunktion, die databaseText() und driverText() zu einer einzigen Zeichenkette verkettet zurückgibt.

Siehe auch driverText() und databaseText().

QSqlError::ErrorType QSqlError::type() const

Gibt den Fehlertyp zurück, oder -1, wenn der Typ nicht ermittelt werden kann.

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

Vergleicht die Fehler type() und nativeErrorCode() von other mit diesem Fehler und gibt true zurück, wenn sie nicht gleich sind.

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

Verschieben - weist other dieser QSqlError Instanz zu.

Hinweis: Das verschobene Objekt other wird in einen teilweise gebildeten Zustand versetzt, in dem die einzigen gültigen Operationen Zerstörung und Zuweisung eines neuen Wertes sind.

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

Weist diesem Fehler die Werte von other zu.

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

Vergleicht die Fehler type() und nativeErrorCode() von other mit diesem Fehler und gibt true zurück, wenn er gleich ist.

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