Auf dieser Seite

QSqlError Class

Die Klasse „QSqlError“ liefert Informationen zu SQL-Datenbankfehlern. Mehr...

Header: #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 &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

Ausführliche Beschreibung

Ein QSqlError-Objekt kann datenbankspezifische Fehlerdaten bereitstellen, darunter die Meldungen „ driverText()“ und „ databaseText()“ (oder beide zusammen als „ text()“) sowie „ nativeErrorCode()“ und „ type()“.

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

Dokumentation zu Mitgliedstypen

enum QSqlError::ErrorType

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

KonstanteWertBeschreibung
QSqlError::NoError0Es ist kein Fehler aufgetreten.
QSqlError::ConnectionError1Verbindungsfehler.
QSqlError::StatementError2Syntaxfehler in der SQL-Anweisung.
QSqlError::TransactionError3Fehler bei der Transaktion.
QSqlError::UnknownError4Unbekannter Fehler.

Dokumentation zu Mitgliedsfunktionen

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

Erstellt einen Fehler, der den Treiberfehlertext „ driverText “, den datenbankspezifischen Fehlertext „ databaseText “, den Typ „ type “ und den nativen Fehlercode „ nativeErrorCode “ enthält.

QSqlError::QSqlError(const QSqlError &other)

Erstellt eine Kopie von „ other “.

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

Erstellt eine QSqlError-Instanz per „Move“-Konstruktion, sodass diese auf dasselbe Objekt verweist, auf das zuvor other verwiesen hat.

Hinweis: Das Objekt „ other “, aus dem die Verschiebung erfolgte, wird in einen teilweise initialisierten Zustand versetzt, in dem nur noch die Zerstörung und die Zuweisung eines neuen Werts zulässig sind.

[noexcept] QSqlError::~QSqlError()

Löscht das Objekt und gibt alle zugewiesenen Ressourcen frei.

QString QSqlError::databaseText() const

Gibt den von der Datenbank gemeldeten Fehlertext zurück. Dieser kann datenbankspezifische Beschreibungen enthalten; er kann auch leer sein.

Siehe auch driverText() und text().

QString QSqlError::driverText() const

Gibt den vom Treiber gemeldeten Fehlertext zurück. 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 vorliegt, andernfalls „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 (nativen) Fehlercode zurück oder eine leere Zeichenkette, falls dieser nicht ermittelt werden kann.

Hinweis: Einige Treiber (wie DB2 oder ODBC) geben möglicherweise mehr als einen Fehlercode zurück. In diesem Fall wird „ ; “ als Trennzeichen zwischen den Fehlercodes verwendet.

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

Ersetzt diesen Fehler durch „ other “. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.

QString QSqlError::text() const

Dies ist eine Hilfsfunktion, die die Ergebnisse von „ databaseText()“ und „ driverText()“ zu einer einzigen Zeichenkette verkettet.

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

Vergleiche die Methoden „ type()“ und „ nativeErrorCode()“ des Fehlers „ other “ mit diesem Fehler und gib „ true “ zurück, falls sie nicht übereinstimmen.

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

Weist „ other “ dieser Instanz von „ QSqlError “ zu.

Hinweis: Das Objekt „ other “, aus dem die Zuweisung erfolgt, wird in einen teilweise initialisierten Zustand versetzt, in dem die einzigen zulässigen Operationen die Zerstörung und die Zuweisung eines neuen Werts sind.

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

Weist diesem Fehler die Werte des Fehlers „ other “ zu.

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

Vergleiche die Methoden ` type()` und ` nativeErrorCode()` des Fehlers „ other “ mit diesem Fehler und gib ` true` zurück, falls sie übereinstimmen.

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