Sur cette page

QSqlRecord Class

La classe QSqlRecord encapsule un enregistrement de base de données. En savoir plus...

En-tête : #include <QSqlRecord>
CMake : find_package(Qt6 REQUIRED COMPONENTS Sql)
target_link_libraries(mytarget PRIVATE Qt6::Sql)
qmake : QT += sql
Hérité par :

QSqlIndex

Fonctions publiques

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

Description détaillée

La classe QSqlRecord encapsule les fonctionnalités et les caractéristiques d’un enregistrement de base de données (généralement une ligne d’une table ou d’une vue au sein de la base de données). QSqlRecord prend en charge l’ajout et la suppression de champs, ainsi que la définition et la récupération des valeurs de ces champs.

Les valeurs des champs d’un enregistrement peuvent être définies par nom ou par position à l’aide de ` setValue()` ; si vous souhaitez définir un champ sur `null`, utilisez ` setNull()`. Pour trouver la position d’un champ par son nom, utilisez ` indexOf()`, et pour trouver le nom d’un champ à une position donnée, utilisez ` fieldName()`. Utilisez ` field()` pour récupérer un objet ` QSqlField ` pour un champ donné. Utilisez contains() pour vérifier si l’enregistrement contient un nom de champ particulier.

Lorsque des requêtes sont générées pour être exécutées sur la base de données, seuls les champs pour lesquels isGenerated() renvoie vrai sont inclus dans le code SQL généré.

Un enregistrement peut voir ses champs ajoutés à l’aide de ` append()` ou ` insert()`, remplacés à l’aide de ` replace()` et supprimés à l’aide de ` remove()`. Tous les champs peuvent être supprimés à l’aide de ` clear()`. Le nombre de champs est fourni par ` count()` ; toutes leurs valeurs peuvent être effacées (remplacées par null) à l’aide de ` clearValues()`.

Voir également QSqlField et QSqlQuery::record().

Documentation des fonctions membres

QSqlRecord::QSqlRecord()

Crée un enregistrement vide.

Voir également isEmpty(), append() et insert().

QSqlRecord::QSqlRecord(const QSqlRecord &other)

Crée une copie de other.

QSqlRecord est implicitement partagé. Cela signifie que vous pouvez créer des copies d'un enregistrement en temps constant.

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

La fonction « move » construit un nouvel objet QSqlRecord à partir de other.

Remarque : l'objet d'origine other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l'affectation d'une nouvelle valeur.

Cette fonction a été introduite dans Qt 6.6.

[noexcept] QSqlRecord::~QSqlRecord()

Détruit l'objet et libère toutes les ressources allouées.

void QSqlRecord::append(const QSqlField &field)

Ajouter une copie du champ field à la fin de l'enregistrement.

Voir également insert(), replace() et remove().

void QSqlRecord::clear()

Supprime tous les champs de l'enregistrement.

Voir également clearValues() et isEmpty().

void QSqlRecord::clearValues()

Efface la valeur de tous les champs de l'enregistrement et attribue la valeur « null » à chaque champ.

Voir aussi setValue().

bool QSqlRecord::contains(QAnyStringView name) const

Renvoie « true » s'il existe dans l'enregistrement un champ nommé « name » ; sinon, renvoie « false ».

Remarque : dans les versions de Qt antérieures à la version 6.8, cette fonction prenait en paramètre ` QString`, et non ` QAnyStringView`.

int QSqlRecord::count() const

Renvoie le nombre de champs contenus dans l'enregistrement.

Voir aussi isEmpty().

QSqlField QSqlRecord::field(int index) const

Renvoie le champ situé à la position index. Si l'index e est hors de la plage autorisée, la fonction renvoie une valeur construite par défaut.

QSqlField QSqlRecord::field(QAnyStringView name) const

Renvoie le champ nommé « name ». Si le champ nommé « name » n'est pas trouvé, la fonction renvoie une valeur construite par défaut.

Remarque : dans les versions de Qt antérieures à la version 6.8, cette fonction prenait en paramètre « QString », et non « QAnyStringView ».

Il s'agit d'une fonction surchargée.

QString QSqlRecord::fieldName(int index) const

Renvoie le nom du champ situé à la position index. Si le champ n'existe pas, une chaîne vide est renvoyée.

Voir aussi indexOf().

int QSqlRecord::indexOf(QAnyStringView name) const

Renvoie la position du champ nommé « name » dans l'enregistrement, ou -1 s'il est introuvable. Les noms de champs ne sont pas sensibles à la casse. Si plusieurs champs correspondent, c'est le premier qui est renvoyé.

Remarque : dans les versions de Qt antérieures à la version 6.8, cette fonction prenait en paramètre QString et non QAnyStringView.

Voir également fieldName().

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

Insère le champ field à la position pos dans l'enregistrement.

Voir également append(), replace() et remove().

bool QSqlRecord::isEmpty() const

Renvoie « true » s'il n'y a aucun champ dans l'enregistrement ; sinon, renvoie « false ».

Voir également append(), insert() et clear().

bool QSqlRecord::isGenerated(int index) const

Renvoie true si l'enregistrement comporte un champ à la position index et que ce champ doit être généré (valeur par défaut) ; sinon, renvoie false.

Voir également setGenerated().

bool QSqlRecord::isGenerated(QAnyStringView name) const

Renvoie true si l'enregistrement comporte un champ nommé name et que ce champ doit être généré (par défaut) ; sinon, renvoie false.

Remarque : dans les versions de Qt antérieures à la version 6.8, cette fonction prenait en paramètre QString, et non QAnyStringView.

Il s'agit d'une fonction surchargée.

Voir également setGenerated().

bool QSqlRecord::isNull(int index) const

Renvoie « true » si le champ « index » est nul ou s'il n'y a pas de champ à la position « index » ; sinon, renvoie « false ».

Voir également setNull().

bool QSqlRecord::isNull(QAnyStringView name) const

Renvoie true si le champ nommé name est nul ou s'il n'existe aucun champ nommé name; sinon, renvoie false.

Remarque : dans les versions de Qt antérieures à la version 6.8, cette fonction prenait QString, et non QAnyStringView.

Il s'agit d'une fonction surchargée.

Voir également setNull().

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

Renvoie un enregistrement contenant les champs représentés dans keyFields, dont les valeurs correspondent à celles associées à chaque nom de champ.

void QSqlRecord::remove(int pos)

Supprime le champ situé à l'adresse pos. Si l'adresse pos est hors limites, aucune action n'est effectuée.

Voir également append(), insert() et replace().

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

Remplace le champ situé à l'adresse pos par la valeur indiquée field. Si pos se trouve hors de la plage autorisée, aucune action n'est effectuée.

Voir également append(), insert() et remove().

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

Définit l'indicateur généré pour le champ « name » sur « generated ». Si le champ n'existe pas, rien ne se passe. Seuls les champs pour lesquels « generated » est défini sur « true » sont inclus dans le code SQL généré par « QSqlQueryModel », par exemple.

Remarque : dans les versions de Qt antérieures à la version 6.8, cette fonction prenait en paramètre QString et non QAnyStringView.

Voir également isGenerated().

void QSqlRecord::setGenerated(int index, bool generated)

Définit l'indicateur généré pour le champ « index » sur « generated ».

Voir également isGenerated().

void QSqlRecord::setNull(int index)

Définit la valeur du champ index sur null. Si le champ n'existe pas, rien ne se passe.

Voir également isNull() et setValue().

void QSqlRecord::setNull(QAnyStringView name)

Définit la valeur du champ nommé « name » sur null. Si le champ n'existe pas, rien ne se passe.

Remarque : dans les versions de Qt antérieures à la version 6.8, cette fonction prenait en paramètre « QString » et non « QAnyStringView ».

Il s'agit d'une fonction surchargée.

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

Définit la valeur du champ situé à l'adresse index sur val. Si le champ n'existe pas, aucune action n'est effectuée.

Voir également value() et setNull().

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

Définit la valeur du champ « name » sur « val ». Si le champ n'existe pas, rien ne se passe.

Remarque : dans les versions de Qt antérieures à la version 6.8, cette fonction prenait QString, et non QAnyStringView.

Il s'agit d'une fonction surchargée.

Voir également setNull().

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

Permute cet enregistrement SQL avec other. Cette opération est très rapide et ne rencontre jamais d'échec.

Cette fonction a été introduite dans Qt 6.6.

QVariant QSqlRecord::value(int index) const

Renvoie la valeur du champ situé à la position index dans l'enregistrement. Si index est hors limites, un QVariant invalide est renvoyé.

Voir également setValue(), fieldName() et isNull().

QVariant QSqlRecord::value(QAnyStringView name) const

Renvoie la valeur du champ nommé « name » dans l'enregistrement. Si le champ « name » n'existe pas, une variante non valide est renvoyée.

Remarque : dans les versions de Qt antérieures à la version 6.8, cette fonction prenait QString, et non QAnyStringView.

Il s'agit d'une fonction surchargée.

Voir également indexOf() et isNull().

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

Renvoie ` true ` si cet objet n'est pas identique à ` other` ; sinon, renvoie ` false`.

Voir également operator==().

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

Cette opération attribue other à cette instance de QSqlRecord.

Remarque : l’objet d’origine other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l’affectation d’une nouvelle valeur.

Cette fonction a été introduite dans Qt 6.6.

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

Définit l'enregistrement comme étant égal à other.

QSqlRecord est implicitement partagé. Cela signifie que vous pouvez créer des copies d’un enregistrement en temps constant.

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

Renvoie true si cet objet est identique à other (c'est-à-dire s'il comporte les mêmes champs dans le même ordre) ; sinon, renvoie false.

Voir également 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.