QSqlRecord Class

Die Klasse QSqlRecord kapselt einen Datenbankeintrag. Mehr...

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

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

Detaillierte Beschreibung

Die Klasse QSqlRecord kapselt die Funktionalität und Eigenschaften eines Datenbankdatensatzes (normalerweise 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 über den Namen oder die Position mit setValue() gesetzt werden; wenn Sie ein Feld auf null setzen wollen, 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 sehen, ob der Datensatz einen bestimmten Feldnamen enthält.

Wenn Abfragen zur Ausführung in der Datenbank generiert werden, werden nur die Felder, für die isGenerated() wahr ist, in das generierte SQL aufgenommen.

Einem Datensatz können Felder mit append() oder insert() hinzugefügt, mit replace() ersetzt und mit remove() entfernt werden. Alle Felder können mit clear() entfernt werden. Die Anzahl der Felder wird durch count() angegeben; alle ihre Werte können mit clearValues() gelöscht werden (auf Null).

Siehe auch QSqlField und QSqlQuery::record().

Dokumentation der Mitgliedsfunktionen

QSqlRecord::QSqlRecord()

Konstruiert einen leeren Datensatz.

Siehe auch isEmpty(), append(), und insert().

QSqlRecord::QSqlRecord(const QSqlRecord &other)

Konstruiert eine Kopie von other.

QSqlRecord wird implizit gemeinsam genutzt. Das bedeutet, dass Sie Kopien eines Datensatzes in konstanter Zeit erstellen können.

[noexcept, since 6.6] QSqlRecord::QSqlRecord(QSqlRecord &&other)

Move-konstruiert einen neuen QSqlRecord aus other.

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

Diese Funktion wurde in Qt 6.6 eingeführt.

[noexcept] QSqlRecord::~QSqlRecord()

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

void QSqlRecord::append(const QSqlField &field)

Hängen Sie eine Kopie des Feldes field an das Ende des Datensatzes an.

Siehe auch insert(), replace(), und remove().

void QSqlRecord::clear()

Entfernt 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 es im Datensatz ein Feld mit dem Namen name gibt; andernfalls wird false zurückgegeben.

Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion QString und 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 index außerhalb des Bereichs, gibt die Funktion einen standardmäßig konstruierten Wert zurück.

QSqlField QSqlRecord::field(QAnyStringView name) const

Dies ist eine überladene Funktion.

Gibt das Feld mit dem Namen name zurück. Wenn das Feld mit dem Namen name nicht gefunden wird, gibt die Funktion einen standardmäßig konstruierten Wert zurück.

Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion QString und nicht QAnyStringView.

QString QSqlRecord::fieldName(int index) const

Gibt den Namen des Feldes an der Position index zurück. Existiert das Feld nicht, wird eine leere Zeichenkette zurückgegeben.

Siehe auch indexOf().

int QSqlRecord::indexOf(QAnyStringView name) const

Gibt die Position des Feldes mit dem Namen name innerhalb des Datensatzes zurück, oder -1, wenn es nicht gefunden werden kann. Bei Feldnamen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Wenn mehr als ein Feld übereinstimmt, wird das erste zurückgegeben.

Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion QString und 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 hat und dieses Feld erzeugt werden soll (Standardeinstellung); andernfalls wird false zurückgegeben.

Siehe auch setGenerated().

bool QSqlRecord::isGenerated(QAnyStringView name) const

Dies ist eine überladene Funktion.

Gibt true zurück, wenn der Datensatz ein Feld mit dem Namen name hat und dieses Feld generiert werden soll (die Vorgabe); andernfalls gibt sie false zurück.

Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion QString und nicht QAnyStringView.

Siehe auch setGenerated().

bool QSqlRecord::isNull(int index) const

Gibt true zurück, wenn das Feld index ungültig ist oder wenn es an der Position index kein Feld gibt; andernfalls wird false zurückgegeben.

Siehe auch setNull().

bool QSqlRecord::isNull(QAnyStringView name) const

Dies ist eine überladene Funktion.

Gibt true zurück, wenn das Feld mit dem Namen name null ist oder wenn es kein Feld mit dem Namen name gibt; andernfalls gibt sie false zurück.

Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion QString und nicht QAnyStringView.

Siehe auch setNull().

QSqlRecord QSqlRecord::keyValues(const QSqlRecord &keyFields) const

Gibt einen Datensatz zurück, der die in keyFields dargestellten Felder enthält, die auf Werte gesetzt sind, die mit dem Feldnamen übereinstimmen.

void QSqlRecord::remove(int pos)

Entfernt das Feld an der Position pos. Wenn pos außerhalb des Bereichs liegt, geschieht nichts.

Siehe auch append(), insert(), und replace().

void QSqlRecord::replace(int pos, const QSqlField &field)

Ersetzt das Feld an der Position pos durch das angegebene field. Wenn pos außerhalb des Bereichs liegt, geschieht nichts.

Siehe auch append(), insert(), und remove().

void QSqlRecord::setGenerated(QAnyStringView name, bool generated)

Setzt das generierte Flag für das Feld mit der Bezeichnung name auf generated. Wenn das Feld nicht existiert, geschieht nichts. Nur Felder, bei denen generated auf true gesetzt ist, werden in die SQL einbezogen, die z.B. von QSqlQueryModel erzeugt wird.

Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion QString und 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)

Dies ist eine überladene Funktion.

Setzt den Wert des Feldes mit dem Namen name auf null. Wenn das Feld nicht existiert, passiert nichts.

Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion QString und nicht QAnyStringView.

void QSqlRecord::setValue(int index, const QVariant &val)

Setzt den Wert des Feldes an der Position index auf val. Wenn das Feld nicht existiert, geschieht nichts.

Siehe auch value() und setNull().

void QSqlRecord::setValue(QAnyStringView name, const QVariant &val)

Dies ist eine überladene Funktion.

Setzt den Wert des Feldes mit dem Namen name auf val. Wenn das Feld nicht existiert, passiert nichts.

Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion QString und nicht QAnyStringView.

Siehe auch setNull().

[noexcept, since 6.6] void QSqlRecord::swap(QSqlRecord &other)

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

Diese Funktion wurde in Qt 6.6 eingeführt.

QVariant QSqlRecord::value(int index) const

Gibt den Wert des Feldes an der Position index im Datensatz zurück. Wenn index außerhalb der Grenzen liegt, wird QVariant als ungültig zurückgegeben.

Siehe auch setValue(), fieldName(), und isNull().

QVariant QSqlRecord::value(QAnyStringView name) const

Dies ist eine überladene Funktion.

Gibt den Wert des Feldes mit dem Namen name im Datensatz zurück. Wenn das Feld name nicht existiert, wird eine ungültige Variante zurückgegeben.

Hinweis: In Qt-Versionen vor 6.8 nahm diese Funktion QString und nicht QAnyStringView.

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)

Verschieben - weist other dieser QSqlRecord 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.

Diese Funktion wurde in Qt 6.6 eingeführt.

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

Setzt den Datensatz gleich 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. die gleichen Felder in der gleichen Reihenfolge hat); andernfalls wird false zurückgegeben.

Siehe auch operator!=().

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