Auf dieser Seite

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:

QSqlIndex

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