QSqlDriver Class
Die Klasse `QSqlDriver` ist eine abstrakte Basisklasse für den Zugriff auf bestimmte SQL-Datenbanken. Mehr...
| Header: | #include <QSqlDriver> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Sql) target_link_libraries(mytarget PRIVATE Qt6::Sql) |
| qmake: | QT += sql |
| Erbt von: | QObject |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QSqlDriver ist Teil der Datenbankklassen.
Öffentliche Typen
| enum | DriverFeature { Transactions, QuerySize, BLOB, Unicode, PreparedQueries, …, CancelQuery } |
| enum | IdentifierType { FieldName, TableName } |
| enum | NotificationSource { UnknownSource, SelfSource, OtherSource } |
| enum | StatementType { WhereStatement, SelectStatement, UpdateStatement, InsertStatement, DeleteStatement } |
Eigenschaften
(since 6.8)numericalPrecisionPolicy : QSql::NumericalPrecisionPolicy
Öffentliche Funktionen
| QSqlDriver(QObject *parent = nullptr) | |
| virtual | ~QSqlDriver() |
| virtual bool | beginTransaction() |
| virtual void | close() = 0 |
| virtual bool | commitTransaction() |
(since 6.9) QString | connectionName() const |
| virtual QSqlResult * | createResult() const = 0 |
| virtual QString | escapeIdentifier(const QString &identifier, QSqlDriver::IdentifierType type) const |
| virtual QString | formatValue(const QSqlField &field, bool trimStrings = false) const |
| virtual QVariant | handle() const |
| virtual bool | hasFeature(QSqlDriver::DriverFeature feature) const = 0 |
| virtual bool | isIdentifierEscaped(const QString &identifier, QSqlDriver::IdentifierType type) const |
| virtual bool | isOpen() const |
| bool | isOpenError() const |
| QSqlError | lastError() const |
(since 6.0) virtual int | maximumIdentifierLength(QSqlDriver::IdentifierType type) const |
| QSql::NumericalPrecisionPolicy | numericalPrecisionPolicy() const |
| virtual bool | open(const QString &db, const QString &user = QString(), const QString &password = QString(), const QString &host = QString(), int port = -1, const QString &options = QString()) = 0 |
| virtual QSqlIndex | primaryIndex(const QString &tableName) const |
| virtual QSqlRecord | record(const QString &tableName) const |
| virtual bool | rollbackTransaction() |
| void | setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy precisionPolicy) |
| virtual QString | sqlStatement(QSqlDriver::StatementType type, const QString &tableName, const QSqlRecord &rec, bool preparedStatement) const |
| virtual QString | stripDelimiters(const QString &identifier, QSqlDriver::IdentifierType type) const |
| virtual bool | subscribeToNotification(const QString &name) |
| virtual QStringList | subscribedToNotifications() const |
| virtual QStringList | tables(QSql::TableType tableType) const |
| virtual bool | unsubscribeFromNotification(const QString &name) |
Signale
| void | notification(const QString &name, QSqlDriver::NotificationSource source, const QVariant &payload) |
Geschützte Funktionen
| virtual void | setLastError(const QSqlError &error) |
| virtual void | setOpen(bool open) |
| virtual void | setOpenError(bool error) |
Ausführliche Beschreibung
Diese Klasse sollte nicht direkt verwendet werden. Verwenden Sie stattdessen die Klasse „ QSqlDatabase “.
Wenn Sie eigene SQL-Treiber erstellen möchten, können Sie eine Unterklasse dieser Klasse definieren und deren rein virtuelle Funktionen sowie die von Ihnen benötigten virtuellen Funktionen neu implementieren. Weitere Informationen finden Sie unter „So schreiben Sie Ihren eigenen Datenbanktreiber “.
Siehe auch „ QSqlDatabase “ und „ QSqlResult “.
Dokumentation zu Mitgliedstypen
enum QSqlDriver::DriverFeature
Diese Enumeration enthält eine Liste von Funktionen, die ein Treiber möglicherweise unterstützt. Verwenden Sie ` hasFeature()` um abzufragen, ob eine Funktion unterstützt wird oder nicht. Einige Funktionen hängen vom Datenbankserver ab und können daher erst dann korrekt ermittelt werden, nachdem die Datenbankverbindung erfolgreich mit ` QSqlDatabase::open()` hergestellt wurde.
| Konstante | Wert | Beschreibung |
|---|---|---|
QSqlDriver::Transactions | 0 | Gibt an, ob der Treiber SQL-Transaktionen unterstützt. |
QSqlDriver::QuerySize | 1 | Gibt an, ob die Datenbank die Größe einer Abfrage melden kann. Beachten Sie, dass einige Datenbanken die Rückgabe der Größe (d. h. der Anzahl der zurückgegebenen Zeilen) einer Abfrage nicht unterstützen; in diesem Fall gibt QSqlQuery::size() den Wert -1 zurück. |
QSqlDriver::BLOB | 2 | Gibt an, ob der Treiber Felder vom Typ „Binary Large Object“ unterstützt. |
QSqlDriver::Unicode | 3 | Ob der Treiber Unicode-Zeichenketten unterstützt, sofern der Datenbankserver dies tut. |
QSqlDriver::PreparedQueries | 4 | Ob der Treiber die Ausführung vorbereiteter Abfragen unterstützt. |
QSqlDriver::NamedPlaceholders | 5 | Ob der Treiber die Verwendung benannter Platzhalter unterstützt. |
QSqlDriver::PositionalPlaceholders | 6 | Ob der Treiber die Verwendung von positionsbezogenen Platzhaltern unterstützt. |
QSqlDriver::LastInsertId | 7 | Ob der Treiber die Rückgabe der ID der zuletzt bearbeiteten Zeile unterstützt. |
QSqlDriver::BatchOperations | 8 | Ob der Treiber Batch-Operationen unterstützt, siehe QSqlQuery::execBatch() |
QSqlDriver::SimpleLocking | 9 | Ob der Treiber eine Schreibsperre für eine Tabelle verbietet, während andere Abfragen eine Lesesperre darauf haben. |
QSqlDriver::LowPrecisionNumbers | 10 | Ob der Treiber das Abrufen numerischer Werte mit geringer Genauigkeit zulässt. |
QSqlDriver::EventNotifications | 11 | Ob der Treiber Benachrichtigungen über Datenbankereignisse unterstützt. |
QSqlDriver::FinishQuery | 12 | Ob der Treiber beim Aufruf von ` QSqlQuery::finish()` eine Low-Level-Ressourcenbereinigung durchführen kann. |
QSqlDriver::MultipleResultSets | 13 | Ob der Treiber auf mehrere Ergebnismengen zugreifen kann, die von Batch-Anweisungen oder gespeicherten Prozeduren zurückgegeben werden. |
QSqlDriver::CancelQuery | 14 | Ob der Treiber das Abbrechen einer laufenden Abfrage zulässt. |
Weitere Informationen zu den unterstützten Funktionen finden Sie in der Dokumentation zumQt SQL -Treiber.
Siehe auch ` hasFeature()`.
enum QSqlDriver::IdentifierType
Diese Enumeration enthält eine Liste von SQL-Bezeichnertypen.
| Konstante | Wert | Beschreibung |
|---|---|---|
QSqlDriver::FieldName | 0 | Ein SQL-Feldname |
QSqlDriver::TableName | 1 | Ein SQL-Tabellenname |
enum QSqlDriver::NotificationSource
Diese Enumeration enthält eine Liste von SQL-Benachrichtigungsquellen.
| Konstante | Wert | Beschreibung |
|---|---|---|
QSqlDriver::UnknownSource | 0 | Die Benachrichtigungsquelle ist unbekannt |
QSqlDriver::SelfSource | 1 | Die Benachrichtigungsquelle ist diese Verbindung |
QSqlDriver::OtherSource | 2 | Die Benachrichtigungsquelle ist eine andere Verbindung |
enum QSqlDriver::StatementType
Diese Enumeration enthält eine Liste der SQL-Anweisungs- (oder Klausel-)Typen, die der Treiber erstellen kann.
| Konstante | Wert | Beschreibung |
|---|---|---|
QSqlDriver::WhereStatement | 0 | Eine SQL-Anweisung vom Typ „ WHERE “ (z. B. ` WHERE f = 5`). |
QSqlDriver::SelectStatement | 1 | Eine SQL-Anweisung vom Typ „ SELECT “ (z. B. SELECT f FROM t). |
QSqlDriver::UpdateStatement | 2 | Eine SQL- UPDATE -Anweisung (z. B. UPDATE TABLE t set f = 1). |
QSqlDriver::InsertStatement | 3 | Eine SQL-Anweisung vom Typ „ INSERT “ (z. B. INSERT INTO t (f) values (1)). |
QSqlDriver::DeleteStatement | 4 | Eine SQL-Anweisung „ DELETE “ (z. B. DELETE FROM t). |
Siehe auch sqlStatement().
Dokumentation zur Eigenschaft
[since 6.8] numericalPrecisionPolicy : QSql::NumericalPrecisionPolicy
Diese Eigenschaft enthält die Genauigkeitsrichtlinie für die Datenbankverbindung.
Hinweis: Die Einstellung der Genauigkeitsrichtlinie hat keine Auswirkungen auf derzeit aktive Abfragen.
Diese Aufzählung wurde in Qt 6.8 eingeführt.
Zugriffsfunktionen:
| QSql::NumericalPrecisionPolicy | numericalPrecisionPolicy() const |
| void | setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy precisionPolicy) |
Siehe auch „ QSql::NumericalPrecisionPolicy “, „ QSqlQuery::numericalPrecisionPolicy “ und „ QSqlDatabase::numericalPrecisionPolicy “.
Dokumentation zu den Mitgliedsfunktionen
[explicit] QSqlDriver::QSqlDriver(QObject *parent = nullptr)
Erstellt einen neuen Treiber mit dem angegebenen „ parent “.
[virtual noexcept] QSqlDriver::~QSqlDriver()
Löscht das Objekt und gibt alle zugewiesenen Ressourcen frei.
[virtual] bool QSqlDriver::beginTransaction()
Diese Funktion wird aufgerufen, um eine Transaktion zu starten. Bei Erfolg wird „true“ zurückgegeben, andernfalls „false“. Die Standardimplementierung führt keine Aktion durch und gibt „ false “ zurück.
Siehe auch ` commitTransaction()` und ` rollbackTransaction()`.
[pure virtual] void QSqlDriver::close()
Abgeleitete Klassen müssen diese rein virtuelle Funktion neu implementieren, um die Datenbankverbindung zu schließen. Bei Erfolg wird „true“ zurückgegeben, bei einem Fehler „false“.
Siehe auch open() und setOpen().
[virtual] bool QSqlDriver::commitTransaction()
Diese Funktion wird aufgerufen, um eine Transaktion zu bestätigen. Bei Erfolg wird „true“ zurückgegeben, andernfalls „false“. Die Standardimplementierung führt keine Aktion aus und gibt „ false “ zurück.
Siehe auch „ beginTransaction()“ und „ rollbackTransaction()“.
[since 6.9] QString QSqlDriver::connectionName() const
Gibt den Namen der Datenbankverbindung zurück, mit der der Treiber erstellt wurde ( QSqlDatabase::addDatabase()
Diese Funktion wurde in Qt 6.9 eingeführt.
[pure virtual] QSqlResult *QSqlDriver::createResult() const
Erzeugt ein leeres SQL-Ergebnis in der Datenbank. Abgeleitete Klassen müssen diese Funktion neu implementieren und dem Aufrufer ein für ihre Datenbank geeignetes ` QSqlResult `-Objekt zurückgeben.
[virtual] QString QSqlDriver::escapeIdentifier(const QString &identifier, QSqlDriver::IdentifierType type) const
Gibt den gemäß den Datenbankregeln escapeden Wert von „ identifier “ zurück. „ identifier “ kann je nach „ type “ entweder ein Tabellenname oder ein Feldname sein.
Die Standardimplementierung führt keine Aktion aus.
Siehe auch ` isIdentifierEscaped()`.
[virtual] QString QSqlDriver::formatValue(const QSqlField &field, bool trimStrings = false) const
Gibt eine Zeichenfolgenrepräsentation des Werts „ field “ für die Datenbank zurück. Dies wird beispielsweise beim Erstellen von INSERT- und UPDATE-Anweisungen verwendet.
Die Standardimplementierung gibt den Wert als Zeichenkette zurück, die nach den folgenden Regeln formatiert ist:
- Wenn „ field “ Zeichendaten sind, wird der Wert in einfache Anführungszeichen gesetzt zurückgegeben, was für viele SQL-Datenbanken angemessen ist. Alle eingebetteten einfachen Anführungszeichen werden maskiert (durch zwei einfache Anführungszeichen ersetzt). Wenn „ trimStrings “ wahr ist (die Standardeinstellung ist „false“), werden alle nachgestellten Leerzeichen aus dem Feld entfernt.
- Wenn „ field “ Datums-/Zeitdaten sind, wird der Wert im ISO-Format formatiert und in einfache Anführungszeichen gesetzt. Sind die Datums-/Zeitdaten ungültig, wird „NULL“ zurückgegeben.
- Wenn „ field “ Daten vom Typ „ bytearray “ sind und der Treiber binäre Felder bearbeiten kann, wird der Wert als hexadezimale Zeichenkette formatiert.
- Bei allen anderen Feldtypen wird toString() auf den Wert angewendet und das Ergebnis zurückgegeben.
Siehe auch ` QVariant::toString()`.
[virtual] QVariant QSqlDriver::handle() const
Gibt das Low-Level-Datenbank-Handle zurück, das in ein „ QVariant “ verpackt ist, oder eine ungültige Variante, falls kein Handle vorhanden ist.
Warnung: Verwenden Sie diese Funktion mit äußerster Vorsicht und nur, wenn Sie genau wissen, was Sie tun.
Warnung: Das hier zurückgegebene Handle kann zu einem veralteten Zeiger werden, wenn die Verbindung geändert wird (z. B. wenn Sie die Verbindung schließen).
Warnung: Das Handle kann NULL sein, wenn die Verbindung noch nicht geöffnet ist.
Das hier zurückgegebene Handle ist datenbankabhängig; Sie sollten den Typnamen der Variante abfragen, bevor Sie darauf zugreifen.
Dieses Beispiel ruft das Handle für eine Verbindung zu SQLite ab:
QSqlDatabase db = QSqlDatabase::database();
QVariant v = db.driver()->handle();
if (v.isValid() && (qstrcmp(v.typeName(), "sqlite3*") == 0)) {
// v.data() returns a pointer to the handle
sqlite3 *handle = *static_cast<sqlite3 **>(v.data());
if (handle) {
// ...
}
}Dieser Codeausschnitt gibt das Handle für PostgreSQL oder MySQL zurück:
if (qstrcmp(v.typeName(), "PGconn*") == 0) {
PGconn *handle = *static_cast<PGconn **>(v.data());
if (handle) {
// ...
}
}
if (qstrcmp(v.typeName(), "MYSQL*") == 0) {
MYSQL *handle = *static_cast<MYSQL **>(v.data());
if (handle) {
// ...
}
}Siehe auch ` QSqlResult::handle()`.
[pure virtual] bool QSqlDriver::hasFeature(QSqlDriver::DriverFeature feature) const
Gibt „ true “ zurück, wenn der Treiber die Funktion „ feature “ unterstützt; andernfalls wird „ false “ zurückgegeben.
Beachten Sie, dass bei einigen Datenbanken zunächst ` open()` aufgerufen werden muss, bevor dies festgestellt werden kann.
Siehe auch DriverFeature.
[virtual] bool QSqlDriver::isIdentifierEscaped(const QString &identifier, QSqlDriver::IdentifierType type) const
Gibt zurück, ob „ identifier “ gemäß den Datenbankregeln maskiert wurde. „ identifier “ kann je nach „ type “ entweder ein Tabellenname oder ein Feldname sein.
Implementieren Sie diese Funktion neu, wenn Sie in Ihrer Unterklasse von ` QSqlDriver ` eine eigene Implementierung bereitstellen möchten.
Siehe auch „ stripDelimiters()“ und „ escapeIdentifier()“.
[virtual] bool QSqlDriver::isOpen() const
Gibt „ true “ zurück, wenn die Datenbankverbindung geöffnet ist; andernfalls wird „false“ zurückgegeben.
bool QSqlDriver::isOpenError() const
Gibt „ true “ zurück, wenn beim Öffnen der Datenbankverbindung ein Fehler aufgetreten ist; andernfalls wird „ false “ zurückgegeben.
QSqlError QSqlDriver::lastError() const
Gibt ein ` QSqlError `-Objekt zurück, das Informationen zum letzten in der Datenbank aufgetretenen Fehler enthält.
Siehe auch ` setLastError()`.
[virtual, since 6.0] int QSqlDriver::maximumIdentifierLength(QSqlDriver::IdentifierType type) const
Gibt die maximale Länge für den Bezeichner „ type “ gemäß den Datenbankeinstellungen zurück. Gibt standardmäßig INT_MAX zurück, wenn für die Datenbank keine maximale Länge festgelegt ist.
Diese Funktion wurde in Qt 6.0 eingeführt.
[signal] void QSqlDriver::notification(const QString &name, QSqlDriver::NotificationSource source, const QVariant &payload)
Dieses Signal wird ausgelöst, wenn die Datenbank eine Ereignisbenachrichtigung sendet, die der Treiber abonniert hat. name identifiziert die Ereignisbenachrichtigung, source gibt die Signalquelle an, payload enthält die zusätzlichen Daten, die optional mit der Benachrichtigung übermittelt werden.
Siehe auch subscribeToNotification().
QSql::NumericalPrecisionPolicy QSqlDriver::numericalPrecisionPolicy() const
Gibt die „numericalPrecisionPolicy“ zurück.
Hinweis: Getter -Funktion für die Eigenschaft „numericalPrecisionPolicy“.
Siehe auch ` setNumericalPrecisionPolicy()`.
[pure virtual] bool QSqlDriver::open(const QString &db, const QString &user = QString(), const QString &password = QString(), const QString &host = QString(), int port = -1, const QString &options = QString())
Abgeleitete Klassen müssen diese rein virtuelle Funktion neu implementieren, um eine Datenbankverbindung zur Datenbank db unter Verwendung des Benutzernamens user, des Passworts password, des Hosts host, des Ports port und der Verbindungsoptionen options herzustellen.
Die Funktion muss bei Erfolg „true“ und bei Fehlschlag „false“ zurückgeben.
Siehe auch ` setOpen()`.
[virtual] QSqlIndex QSqlDriver::primaryIndex(const QString &tableName) const
Gibt den Primärindex der Tabelle „ tableName “ zurück. Gibt ein leeres „ QSqlIndex “ zurück, wenn die Tabelle keinen Primärindex besitzt. Die Standardimplementierung gibt einen leeren Index zurück.
[virtual] QSqlRecord QSqlDriver::record(const QString &tableName) const
Gibt einen ` QSqlRecord ` zurück, der mit den Namen der Felder aus der Tabelle ` tableName` gefüllt ist. Wenn keine solche Tabelle existiert, wird ein leerer Datensatz zurückgegeben. Die Standardimplementierung gibt einen leeren Datensatz zurück.
[virtual] bool QSqlDriver::rollbackTransaction()
Diese Funktion wird aufgerufen, um eine Transaktion zurückzusetzen. Bei Erfolg wird „true“ zurückgegeben, andernfalls „false“. Die Standardimplementierung führt keine Aktion durch und gibt „ false “ zurück.
Siehe auch „ beginTransaction()“ und „ commitTransaction()“.
[virtual protected] void QSqlDriver::setLastError(const QSqlError &error)
Diese Funktion dient dazu, den Wert des letzten Fehlers, „ error “, festzulegen, der in der Datenbank aufgetreten ist.
Siehe auch ` lastError()`.
void QSqlDriver::setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy precisionPolicy)
Setzt „ numericalPrecisionPolicy “ auf „ precisionPolicy “.
Hinweis: Setter -Funktion für die Eigenschaft ` numericalPrecisionPolicy`.
Siehe auch numericalPrecisionPolicy().
[virtual protected] void QSqlDriver::setOpen(bool open)
Diese Funktion setzt den Öffnungsstatus der Datenbank auf „ open “. Abgeleitete Klassen können diese Funktion nutzen, um den Status von „ open()“ zurückzugeben.
Siehe auch „ open()“ und „ setOpenError()“.
[virtual protected] void QSqlDriver::setOpenError(bool error)
Diese Funktion setzt den Öffnungsstatus der Datenbank auf „ error “. Abgeleitete Klassen können diese Funktion verwenden, um den Status von ` open()` zu melden. Beachten Sie: Wenn ` error ` wahr ist, wird der Öffnungsstatus der Datenbank auf „geschlossen“ gesetzt (d. h., ` isOpen()` gibt ` false` zurück).
Siehe auch isOpenError(), open() und setOpen().
[virtual] QString QSqlDriver::sqlStatement(QSqlDriver::StatementType type, const QString &tableName, const QSqlRecord &rec, bool preparedStatement) const
Gibt eine SQL-Anweisung vom Typ „ type “ für die Tabelle „ tableName “ mit den Werten aus „ rec “ zurück. Ist „ preparedStatement “ wahr, enthält die Zeichenfolge Platzhalter anstelle von Werten.
Das in jedem Feld von „ rec “ generierte Flag bestimmt, ob das Feld in die generierte Anweisung aufgenommen wird.
Diese Methode kann verwendet werden, um Tabellen zu bearbeiten, ohne sich um datenbankabhängige SQL-Dialekte kümmern zu müssen. Bei nicht vorbereiteten Anweisungen werden die Werte ordnungsgemäß maskiert.
In der WHERE-Anweisung gibt jedes Nicht-Null-Feld von ` rec ` eine Filterbedingung an, die der Gleichheit mit dem Feldwert entspricht, oder – falls vorbereitet – einen Platzhalter. Unabhängig davon, ob vorbereitet oder nicht, gibt ein Null-Feld jedoch die Bedingung `IS NULL` an und führt niemals einen Platzhalter ein. Die Anwendung darf während der Ausführung nicht versuchen, Daten an das Null-Feld zu binden. Das Feld muss auf einen Nicht-Null-Wert gesetzt werden, wenn ein Platzhalter gewünscht wird. Da Nicht-Null-Felder Gleichheitsbedingungen festlegen und SQL-NULL mit nichts gleich ist – nicht einmal mit sich selbst –, ist es im Allgemeinen nicht sinnvoll, einen Null-Wert an einen Platzhalter zu binden.
[virtual] QString QSqlDriver::stripDelimiters(const QString &identifier, QSqlDriver::IdentifierType type) const
Gibt die Funktion „ identifier “ zurück, wobei die führende und die abschließende Trennzeichen entfernt wurden. „ identifier “ kann je nach „ type “ entweder ein Tabellenname oder ein Feldname sein. Wenn „ identifier “ keine führenden und abschließenden Trennzeichen enthält, wird „ identifier “ unverändert zurückgegeben.
Implementieren Sie diese Funktion neu, wenn Sie in Ihrer Unterklasse von ` QSqlDriver ` eine eigene Implementierung bereitstellen möchten,
Siehe auch ` isIdentifierEscaped()`.
[virtual] bool QSqlDriver::subscribeToNotification(const QString &name)
Diese Funktion wird aufgerufen, um Ereignisbenachrichtigungen aus der Datenbank zu abonnieren. „ name “ identifiziert die Ereignisbenachrichtigung.
Bei Erfolg wird „true“ zurückgegeben, andernfalls „false“.
Die Datenbank muss geöffnet sein, wenn diese Funktion aufgerufen wird. Wenn die Datenbank durch den Aufruf von ` close()` geschlossen wird, werden alle abonnierten Ereignisbenachrichtigungen automatisch abgemeldet. Beachten Sie, dass der Aufruf von ` open()` bei einer bereits geöffneten Datenbank implizit den Aufruf von ` close()` auslösen kann, wodurch der Treiber alle Ereignisbenachrichtigungen abbestellt.
Wenn eine durch ` name ` identifizierte Ereignisbenachrichtigung von der Datenbank gesendet wird, wird das Signal ` notification()` ausgelöst.
Implementieren Sie diese Funktion neu, wenn Sie in Ihrer eigenen Unterklasse von ` QSqlDriver ` Unterstützung für Ereignisbenachrichtigungen bereitstellen möchten.
Siehe auch unsubscribeFromNotification(), subscribedToNotifications() und QSqlDriver::hasFeature().
[virtual] QStringList QSqlDriver::subscribedToNotifications() const
Gibt eine Liste der Namen der Ereignisbenachrichtigungen zurück, die derzeit abonniert sind.
Implementieren Sie diese Funktion neu, wenn Sie in Ihrer eigenen Unterklasse von ` QSqlDriver ` Unterstützung für Ereignisbenachrichtigungen bereitstellen möchten.
Siehe auch ` subscribeToNotification()` und ` unsubscribeFromNotification()`.
[virtual] QStringList QSqlDriver::tables(QSql::TableType tableType) const
Gibt eine Liste der Namen der Tabellen in der Datenbank zurück. Die Standardimplementierung gibt eine leere Liste zurück.
Das Argument „ tableType “ beschreibt, welche Tabellentypen zurückgegeben werden sollen. Aus Gründen der binären Kompatibilität enthält die Zeichenkette den Wert der Enumeration „QSql::TableTypes“ als Text. Eine leere Zeichenkette sollte aus Gründen der Abwärtskompatibilität als „ QSql::Tables “ behandelt werden.
[virtual] bool QSqlDriver::unsubscribeFromNotification(const QString &name)
Diese Funktion wird aufgerufen, um das Abonnement für Ereignisbenachrichtigungen aus der Datenbank zu kündigen. ` name ` identifiziert die Ereignisbenachrichtigung.
Bei Erfolg wird „true“ zurückgegeben, andernfalls „false“.
Die Datenbank muss geöffnet sein, wenn diese Funktion aufgerufen wird. Alle abonnierten Ereignisbenachrichtigungen werden automatisch abgemeldet, sobald die Funktion ` close()` aufgerufen wird.
Nach dem Aufruf dieser Funktion wird das Signal ` notification()` nicht mehr ausgelöst, wenn eine durch ` name ` identifizierte Ereignisbenachrichtigung von der Datenbank gesendet wird.
Implementieren Sie diese Funktion neu, wenn Sie in Ihrer eigenen Unterklasse von ` QSqlDriver ` Unterstützung für Ereignisbenachrichtigungen bereitstellen möchten.
Siehe auch „ subscribeToNotification()“ und „ subscribedToNotifications()“.
© 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.