QSqlRecord Class
Die Klasse „QSqlRecord“ kapselt einen Datenbankdatensatz. Mehr...
| Header: | #include <QSqlRecord> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Sql) target_link_libraries(mytarget PRIVATE Qt6::Sql) |
| qmake: | QT += sql |
| Vererbt an: |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QSqlRecord ist Teil der Datenbankklassen und der implizit gemeinsam genutzten Klassen.
Öffentliche Funktionen
| QSqlRecord() | |
| QSqlRecord(const QSqlRecord &other) | |
(since 6.6) | QSqlRecord(QSqlRecord &&other) |
| ~QSqlRecord() | |
| void | append(const QSqlField &field) |
| void | clear() |
| void | clearValues() |
| bool | contains(QAnyStringView name) const |
| int | count() const |
| QSqlField | field(int index) const |
| QSqlField | field(QAnyStringView name) const |
| QString | fieldName(int index) const |
| int | indexOf(QAnyStringView name) const |
| void | insert(int pos, const QSqlField &field) |
| bool | isEmpty() const |
| bool | isGenerated(int index) const |
| bool | isGenerated(QAnyStringView name) const |
| bool | isNull(int index) const |
| bool | isNull(QAnyStringView name) const |
| QSqlRecord | keyValues(const QSqlRecord &keyFields) const |
| void | remove(int pos) |
| void | replace(int pos, const QSqlField &field) |
| void | setGenerated(QAnyStringView name, bool generated) |
| void | setGenerated(int index, bool generated) |
| void | setNull(int index) |
| void | setNull(QAnyStringView name) |
| void | setValue(int index, const QVariant &val) |
| void | setValue(QAnyStringView name, const QVariant &val) |
(since 6.6) void | swap(QSqlRecord &other) |
| QVariant | value(int index) const |
| QVariant | value(QAnyStringView name) const |
| bool | operator!=(const QSqlRecord &other) const |
(since 6.6) QSqlRecord & | operator=(QSqlRecord &&other) |
| QSqlRecord & | operator=(const QSqlRecord &other) |
| bool | operator==(const QSqlRecord &other) const |
Ausführliche Beschreibung
Die Klasse QSqlRecord kapselt die Funktionalität und Eigenschaften eines Datenbankdatensatzes (in der Regel eine Zeile in einer Tabelle oder Ansicht innerhalb der Datenbank). QSqlRecord unterstützt das Hinzufügen und Entfernen von Feldern sowie das Setzen und Abrufen von Feldwerten.
Die Werte der Felder eines Datensatzes können mit ` setValue()` anhand des Namens oder der Position gesetzt werden; wenn Sie ein Feld auf `null` setzen möchten, verwenden Sie ` setNull()`. Um die Position eines Feldes anhand des Namens zu ermitteln, verwenden Sie ` indexOf()`, und um den Namen eines Feldes an einer bestimmten Position zu ermitteln, verwenden Sie ` fieldName()`. Verwenden Sie ` field()`, um ein ` QSqlField `-Objekt für ein bestimmtes Feld abzurufen. Verwenden Sie ` contains()` (), um zu prüfen, ob der Datensatz einen bestimmten Feldnamen enthält.
Bei der Generierung von Abfragen zur Ausführung in der Datenbank werden nur die Felder in die generierte SQL-Anweisung aufgenommen, für die isGenerated() den Wert „true“ zurückgibt.
Ein Datensatz kann Felder enthalten, die mit ` append()` oder ` insert()` hinzugefügt, mit ` replace()` ersetzt und mit ` remove()` entfernt wurden. Alle Felder können mit ` clear()` entfernt werden. Die Anzahl der Felder wird durch ` count()` angegeben; alle ihre Werte können mit ` clearValues()` auf `null` gesetzt werden.
Siehe auch „ QSqlField “ und „ QSqlQuery::record()“.
Dokumentation zu den Member-Funktionen
QSqlRecord::QSqlRecord()
Erstellt einen leeren Datensatz.
Siehe auch isEmpty(), append() und insert().
QSqlRecord::QSqlRecord(const QSqlRecord &other)
Erstellt eine Kopie von ` other`.
QSqlRecord wird implizit gemeinsam genutzt. Das bedeutet, dass Sie Kopien eines Datensatzes in konstanter Zeit erstellen können.
[constexpr noexcept default, since 6.6] QSqlRecord::QSqlRecord(QSqlRecord &&other)
Erstellt einen neuen QSqlRecord aus „ other “ mittels Move-Konstruktion.
Hinweis: Das Objekt „ other “, aus dem die Daten verschoben wurden, befindet sich in einem teilweise initialisierten Zustand, in dem nur die Zerstörung und die Zuweisung eines neuen Werts zulässig sind.
Diese Funktion wurde in Qt 6.6 eingeführt.
[noexcept] QSqlRecord::~QSqlRecord()
Löscht das Objekt und gibt alle zugewiesenen Ressourcen frei.
void QSqlRecord::append(const QSqlField &field)
Füge eine Kopie des Feldes „ field “ am Ende des Datensatzes an.
Siehe auch „ insert()“, „ replace()“ und „ remove()“.
void QSqlRecord::clear()
Löscht alle Felder des Datensatzes.
Siehe auch „ clearValues()“ und „ isEmpty()“.
void QSqlRecord::clearValues()
Löscht den Wert aller Felder im Datensatz und setzt jedes Feld auf „null“.
Siehe auch ` setValue()`.
bool QSqlRecord::contains(QAnyStringView name) const
Gibt „ true “ zurück, wenn der Datensatz ein Feld namens „ name “ enthält; andernfalls wird „ false “ zurückgegeben.
Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion „ QString “ als Argument entgegen, nicht „ QAnyStringView “.
int QSqlRecord::count() const
Gibt die Anzahl der Felder im Datensatz zurück.
Siehe auch „ isEmpty()“.
QSqlField QSqlRecord::field(int index) const
Gibt das Feld an der Position „ index “ zurück. Liegt der Wert „ index “ außerhalb des zulässigen Bereichs, gibt die Funktion einen standardmäßig konstruierten Wert zurück.
QSqlField QSqlRecord::field(QAnyStringView name) const
Gibt das Feld „ name “ zurück. Wird das Feld „ name “ nicht gefunden, gibt die Funktion einen standardmäßig konstruierten Wert zurück.
Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.
Dies ist eine überladene Funktion.
QString QSqlRecord::fieldName(int index) const
Gibt den Namen des Feldes an der Position index zurück. Falls das Feld nicht existiert, wird eine leere Zeichenkette zurückgegeben.
Siehe auch ` indexOf()`.
int QSqlRecord::indexOf(QAnyStringView name) const
Gibt die Position des Feldes „ name “ innerhalb des Datensatzes zurück oder -1, wenn es nicht gefunden werden kann. Bei Feldnamen wird die Groß-/Kleinschreibung nicht berücksichtigt. Wenn mehrere Felder übereinstimmen, wird das erste zurückgegeben.
Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.
Siehe auch ` fieldName()`.
void QSqlRecord::insert(int pos, const QSqlField &field)
Fügt das Feld „ field “ an der Position „ pos “ in den Datensatz ein.
Siehe auch „ append()“, „ replace()“ und „ remove()“.
bool QSqlRecord::isEmpty() const
Gibt „ true “ zurück, wenn der Datensatz keine Felder enthält; andernfalls wird „ false “ zurückgegeben.
Siehe auch append(), insert() und clear().
bool QSqlRecord::isGenerated(int index) const
Gibt „ true “ zurück, wenn der Datensatz ein Feld an der Position „ index “ enthält und dieses Feld generiert werden soll (Standardeinstellung); andernfalls wird „ false “ zurückgegeben.
Siehe auch setGenerated().
bool QSqlRecord::isGenerated(QAnyStringView name) const
Gibt „ true “ zurück, wenn der Datensatz ein Feld namens „ name “ enthält und dieses Feld generiert werden soll (Standard); andernfalls wird „ false “ zurückgegeben.
Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.
Dies ist eine überladene Funktion.
Siehe auch setGenerated().
bool QSqlRecord::isNull(int index) const
Gibt „ true “ zurück, wenn das Feld „ index “ null ist oder wenn an der Position „ index “ kein Feld vorhanden ist; andernfalls wird „ false “ zurückgegeben.
Siehe auch setNull().
bool QSqlRecord::isNull(QAnyStringView name) const
Gibt „ true “ zurück, wenn das Feld „ name “ null ist oder wenn kein Feld namens „ name “ vorhanden ist; andernfalls wird „ false “ zurückgegeben.
Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.
Dies ist eine überladene Funktion.
Siehe auch ` setNull()`.
QSqlRecord QSqlRecord::keyValues(const QSqlRecord &keyFields) const
Gibt einen Datensatz zurück, der die in „ keyFields “ dargestellten Felder enthält, deren Werte anhand der Feldnamen zugeordnet wurden.
void QSqlRecord::remove(int pos)
Entfernt das Feld an der Position pos. Liegt pos außerhalb des zulässigen Bereichs, geschieht nichts.
Siehe auch append(), insert() und replace().
void QSqlRecord::replace(int pos, const QSqlField &field)
Ersetzt das Feld an der Position pos durch den angegebenen Wert field. Liegt pos außerhalb des zulässigen Bereichs, geschieht nichts.
Siehe auch append(), insert() und remove().
void QSqlRecord::setGenerated(QAnyStringView name, bool generated)
Setzt das generierte Flag für das Feld „ name “ auf „ generated “. Wenn das Feld nicht existiert, geschieht nichts. Nur Felder, bei denen „ generated “ auf „true“ gesetzt ist, werden in die SQL-Anweisung aufgenommen, die beispielsweise von „ QSqlQueryModel “ generiert wird.
Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.
Siehe auch isGenerated().
void QSqlRecord::setGenerated(int index, bool generated)
Setzt das generierte Flag für das Feld „ index “ auf „ generated “.
Siehe auch „ isGenerated()“.
void QSqlRecord::setNull(int index)
Setzt den Wert des Feldes „ index “ auf „null“. Wenn das Feld nicht existiert, geschieht nichts.
Siehe auch „ isNull()“ und „ setValue()“.
void QSqlRecord::setNull(QAnyStringView name)
Setzt den Wert des Feldes „ name “ auf null. Wenn das Feld nicht existiert, geschieht nichts.
Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion „ QString “ als Argument entgegen, nicht „ QAnyStringView “.
Dies ist eine überladene Funktion.
void QSqlRecord::setValue(int index, const QVariant &val)
Setzt den Wert des Feldes an der Position index auf val. Falls das Feld nicht existiert, geschieht nichts.
Siehe auch value() und setNull().
void QSqlRecord::setValue(QAnyStringView name, const QVariant &val)
Setzt den Wert des Feldes „ name “ auf „ val “. Falls das Feld nicht existiert, geschieht nichts.
Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.
Dies ist eine überladene Funktion.
Siehe auch setNull().
[noexcept, since 6.6] void QSqlRecord::swap(QSqlRecord &other)
Tauscht diesen SQL-Datensatz gegen „ other “ aus. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.
Diese Funktion wurde in Qt 6.6 eingeführt.
QVariant QSqlRecord::value(int index) const
Gibt den Wert des Feldes zurück, das sich an der Position index im Datensatz befindet. Liegt index außerhalb des zulässigen Bereichs, wird ein ungültiger Wert QVariant zurückgegeben.
Siehe auch setValue(), fieldName() und isNull().
QVariant QSqlRecord::value(QAnyStringView name) const
Gibt den Wert des Feldes „ name “ im Datensatz zurück. Wenn das Feld „ name “ nicht vorhanden ist, wird eine ungültige Variante zurückgegeben.
Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.
Dies ist eine überladene Funktion.
Siehe auch indexOf() und isNull().
bool QSqlRecord::operator!=(const QSqlRecord &other) const
Gibt „ true “ zurück, wenn dieses Objekt nicht mit „ other “ identisch ist; andernfalls wird „ false “ zurückgegeben.
Siehe auch operator==().
[noexcept, since 6.6] QSqlRecord &QSqlRecord::operator=(QSqlRecord &&other)
Weist „ other “ dieser Instanz von „ QSqlRecord “ zu.
Hinweis: Das Objekt „ other “, aus dem die Zuweisung erfolgt, befindet sich in einem teilweise initialisierten Zustand, in dem die einzigen zulässigen Operationen die Zerstörung und die Zuweisung eines neuen Werts sind.
Diese Funktion wurde in Qt 6.6 eingeführt.
QSqlRecord &QSqlRecord::operator=(const QSqlRecord &other)
Setzt den Datensatz auf den Wert „ other “.
QSqlRecord wird implizit gemeinsam genutzt. Das bedeutet, dass Sie Kopien eines Datensatzes in konstanter Zeit erstellen können.
bool QSqlRecord::operator==(const QSqlRecord &other) const
Gibt „ true “ zurück, wenn dieses Objekt mit „ other “ identisch ist (d. h., dieselben Felder in derselben Reihenfolge aufweist); andernfalls wird „ false “ zurückgegeben.
Siehe auch operator!=().
© 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.