Sur cette page

QSqlRecord Class

La classe QSqlRecord encapsule un enregistrement de base de données. Plus d'informations...

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

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 dans une table ou une vue de la base de données). QSqlRecord permet d'ajouter et de supprimer des champs, ainsi que de définir et d'extraire des valeurs de champ.

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 comme nul, utilisez setNull(). Pour trouver la position d'un champ par son nom, utilisez indexOf(), et pour trouver le nom d'un champ à une position particulière, 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 rubrique 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() est vrai sont inclus dans le code SQL généré.

Un enregistrement peut avoir des champs ajoutés avec append() ou insert(), remplacés avec replace(), et supprimés avec remove(). Tous les champs peuvent être supprimés avec clear(). Le nombre de champs est donné par count() ; toutes leurs valeurs peuvent être effacées (à null) en utilisant clearValues().

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

Documentation sur les fonctions membres

QSqlRecord::QSqlRecord()

Construit un enregistrement vide.

Voir aussi isEmpty(), append() et insert().

QSqlRecord::QSqlRecord(const QSqlRecord &other)

Construit une copie de other.

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

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

Move-construit un nouveau QSqlRecord à partir de other.

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

Cette fonction a été introduite dans Qt 6.6.

[noexcept] QSqlRecord::~QSqlRecord()

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

void QSqlRecord::append(const QSqlField &field)

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

Voir aussi insert(), replace() et remove().

void QSqlRecord::clear()

Supprime tous les champs de l'enregistrement.

Voir aussi clearValues() et isEmpty().

void QSqlRecord::clearValues()

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

Voir aussi setValue().

bool QSqlRecord::contains(QAnyStringView name) const

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

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

int QSqlRecord::count() const

Renvoie le nombre de champs de l'enregistrement.

Voir aussi isEmpty().

QSqlField QSqlRecord::field(int index) const

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

QSqlField QSqlRecord::field(QAnyStringView name) const

Renvoie le champ appelé name. Si le champ appelé 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 QString, et non QAnyStringView.

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

QString QSqlRecord::fieldName(int index) const

Renvoie le nom du champ à 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 appelé name dans l'enregistrement, ou -1 s'il est introuvable. Les noms de champs ne sont pas sensibles à la casse. Si plusieurs champs correspondent, le premier est renvoyé.

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

Voir aussi fieldName().

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

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

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

bool QSqlRecord::isEmpty() const

Renvoie true s'il n'y a pas de champs dans l'enregistrement ; sinon, renvoie false.

Voir aussi 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é (par défaut) ; sinon, renvoie false.

Voir aussi setGenerated().

bool QSqlRecord::isGenerated(QAnyStringView name) const

Renvoie true si l'enregistrement possède un champ appelé 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 QString, et non QAnyStringView.

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

Voir aussi 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 aussi setNull().

bool QSqlRecord::isNull(QAnyStringView name) const

Renvoie true si le champ appelé name est nul ou s'il n'y a pas de champ appelé 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 aussi setNull().

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

Renvoie un enregistrement contenant les champs représentés dans keyFields avec les valeurs correspondant au nom du champ.

void QSqlRecord::remove(int pos)

Supprime le champ à la position pos. Si pos est hors de portée, rien ne se passe.

Voir aussi append(), insert() et replace().

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

Remplace le champ à la position pos par le champ donné field. Si pos est hors de portée, rien ne se passe.

Voir aussi append(), insert() et remove().

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

Définit l'indicateur généré pour le champ appelé name à generated. Si le champ n'existe pas, rien ne se passe. Seuls les champs pour lesquels generated vaut 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 QString, et non QAnyStringView.

Voir aussi isGenerated().

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

Définit l'indicateur généré pour le champ index à generated.

Voir aussi isGenerated().

void QSqlRecord::setNull(int index)

Fixe la valeur du champ index à null. Si le champ n'existe pas, rien ne se passe.

Voir aussi isNull() et setValue().

void QSqlRecord::setNull(QAnyStringView name)

Fixe la valeur du champ appelé name à 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 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 à la position index à val. Si le champ n'existe pas, rien ne se passe.

Voir aussi value() et setNull().

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

Définit la valeur du champ appelé name à 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 aussi setNull().

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

Remplace cet enregistrement SQL par other. Cette opération est très rapide et n'échoue jamais.

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, une valeur invalide QVariant est renvoyée.

Voir aussi setValue(), fieldName() et isNull().

QVariant QSqlRecord::value(QAnyStringView name) const

Renvoie la valeur du champ appelé name dans l'enregistrement. Si le champ name n'existe pas, une variante invalide 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 aussi indexOf() et isNull().

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

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

Voir aussi operator==().

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

Move-assigne other à cette instance QSqlRecord.

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

Cette fonction a été introduite dans Qt 6.6.

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

Fixe l'enregistrement à la valeur de other.

QSqlRecord est implicitement partagé. Cela signifie que vous pouvez faire 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 qu'il possède les mêmes champs dans le même ordre) ; sinon, renvoie false.

Voir aussi 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.