En esta página

QSqlRecord Class

La clase QSqlRecord encapsula un registro de base de datos. Más...

Cabecera: #include <QSqlRecord>
CMake: find_package(Qt6 REQUIRED COMPONENTS Sql)
target_link_libraries(mytarget PRIVATE Qt6::Sql)
qmake: QT += sql
Heredado Por:

QSqlIndex

Funciones Públicas

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

Descripción Detallada

La clase QSqlRecord encapsula la funcionalidad y características de un registro de base de datos (normalmente una fila en una tabla o vista dentro de la base de datos). QSqlRecord permite añadir y eliminar campos, así como establecer y recuperar valores de campo.

Los valores de los campos de un registro pueden establecerse por nombre o posición con setValue(); si desea establecer un campo como nulo utilice setNull(). Para encontrar la posición de un campo por su nombre, utilice indexOf(), y para encontrar el nombre de un campo en una posición determinada, utilice fieldName(). Utilice field() para recuperar un objeto QSqlField para un campo determinado. Utilice contains() para ver si el registro contiene un nombre de campo concreto.

Cuando se generan consultas para ejecutarlas en la base de datos, sólo se incluyen en el SQL generado aquellos campos para los que isGenerated() es verdadero.

Un registro puede tener campos añadidos con append() o insert(), sustituidos con replace(), y eliminados con remove(). Todos los campos pueden eliminarse con clear(). El número de campos viene dado por count(); todos sus valores se pueden borrar (a null) con clearValues().

Véase también QSqlField y QSqlQuery::record().

Documentación de las funciones miembro

QSqlRecord::QSqlRecord()

Construye un registro vacío.

Véase también isEmpty(), append() y insert().

QSqlRecord::QSqlRecord(const QSqlRecord &other)

Construye una copia de other.

QSqlRecord es implícitamente compartido. Esto significa que puedes hacer copias de un registro en tiempo constante.

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

Move-construye un nuevo QSqlRecord a partir de other.

Nota: El objeto movido-desde other se coloca en un estado parcialmente formado, en el que las únicas operaciones válidas son la destrucción y la asignación de un nuevo valor.

Esta función se introdujo en Qt 6.6.

[noexcept] QSqlRecord::~QSqlRecord()

Destruye el objeto y libera los recursos asignados.

void QSqlRecord::append(const QSqlField &field)

Añade una copia del campo field al final del registro.

Véase también insert(), replace() y remove().

void QSqlRecord::clear()

Elimina todos los campos del registro.

Véase también clearValues() y isEmpty().

void QSqlRecord::clearValues()

Borra el valor de todos los campos del registro y establece cada campo como nulo.

Véase también setValue().

bool QSqlRecord::contains(QAnyStringView name) const

Devuelve true si existe un campo en el registro llamado name; en caso contrario devuelve false.

Nota: En versiones de Qt anteriores a la 6.8, esta función tomaba QString, no QAnyStringView.

int QSqlRecord::count() const

Devuelve el número de campos del registro.

Véase también isEmpty().

QSqlField QSqlRecord::field(int index) const

Devuelve el campo en la posición index. Si index está fuera de rango, la función devuelve un valor construido por defecto.

QSqlField QSqlRecord::field(QAnyStringView name) const

Devuelve el campo llamado name. Si el campo llamado name no se encuentra, la función devuelve un valor construido por defecto.

Nota: En versiones de Qt anteriores a la 6.8, esta función tomaba QString, no QAnyStringView.

Se trata de una función sobrecargada.

QString QSqlRecord::fieldName(int index) const

Devuelve el nombre del campo en la posición index. Si el campo no existe, se devuelve una cadena vacía.

Véase también indexOf().

int QSqlRecord::indexOf(QAnyStringView name) const

Devuelve la posición del campo llamado name dentro del registro, o -1 si no se encuentra. Los nombres de campo no distinguen mayúsculas de minúsculas. Si coincide más de un campo, se devuelve el primero.

Nota: En versiones de Qt anteriores a la 6.8, esta función tomaba QString, no QAnyStringView.

Véase también fieldName().

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

Inserta el campo field en la posición pos del registro.

Véase también append(), replace() y remove().

bool QSqlRecord::isEmpty() const

Devuelve true si no hay campos en el registro; en caso contrario devuelve false.

Véase también append(), insert() y clear().

bool QSqlRecord::isGenerated(int index) const

Devuelve true si el registro tiene un campo en la posición index y este campo debe ser generado (por defecto); en caso contrario devuelve false.

Véase también setGenerated().

bool QSqlRecord::isGenerated(QAnyStringView name) const

Devuelve true si el registro tiene un campo llamado name y este campo debe ser generado (por defecto); en caso contrario devuelve false.

Nota: En versiones de Qt anteriores a la 6.8, esta función tomaba QString, no QAnyStringView.

Se trata de una función sobrecargada.

Véase también setGenerated().

bool QSqlRecord::isNull(int index) const

Devuelve true si el campo index es nulo o si no hay campo en la posición index; en caso contrario devuelve false.

Véase también setNull().

bool QSqlRecord::isNull(QAnyStringView name) const

Devuelve true si el campo llamado name es nulo o si no hay ningún campo llamado name; en caso contrario devuelve false.

Nota: En versiones de Qt anteriores a la 6.8, esta función tomaba QString, no QAnyStringView.

Se trata de una función sobrecargada.

Véase también setNull().

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

Devuelve un registro que contiene los campos representados en keyFields establecidos en valores que coinciden por nombre de campo.

void QSqlRecord::remove(int pos)

Elimina el campo en la posición pos. Si pos está fuera de rango, no ocurre nada.

Véase también append(), insert() y replace().

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

Sustituye el campo en la posición pos por el dado field. Si pos está fuera de rango, no ocurre nada.

Véase también append(), insert() y remove().

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

Establece la bandera generada para el campo llamado name a generated. Si el campo no existe, no ocurre nada. Sólo los campos que tienen generated como valor verdadero se incluyen en el SQL generado por QSqlQueryModel, por ejemplo.

Nota: En versiones de Qt anteriores a la 6.8, esta función tomaba QString, no QAnyStringView.

Véase también isGenerated().

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

Establece la bandera generada para el campo index a generated.

Véase también isGenerated().

void QSqlRecord::setNull(int index)

Establece el valor del campo index en null. Si el campo no existe, no ocurre nada.

Véase también isNull() y setValue().

void QSqlRecord::setNull(QAnyStringView name)

Establece el valor del campo llamado name a null. Si el campo no existe, no ocurre nada.

Nota: En versiones de Qt anteriores a la 6.8, esta función tomaba QString, no QAnyStringView.

Se trata de una función sobrecargada.

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

Establece el valor del campo en la posición index a val. Si el campo no existe, no ocurre nada.

Véase también value() y setNull().

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

Establece el valor del campo llamado name en val. Si el campo no existe, no ocurre nada.

Nota: En versiones de Qt anteriores a la 6.8, esta función tomaba QString, no QAnyStringView.

Se trata de una función sobrecargada.

Véase también setNull().

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

Intercambia este registro SQL con other. Esta operación es muy rápida y nunca falla.

Esta función se introdujo en Qt 6.6.

QVariant QSqlRecord::value(int index) const

Devuelve el valor del campo situado en la posición index del registro. Si index está fuera de los límites, se devuelve un QVariant no válido.

Véase también setValue(), fieldName() y isNull().

QVariant QSqlRecord::value(QAnyStringView name) const

Devuelve el valor del campo llamado name en el registro. Si el campo name no existe se devuelve una variante inválida.

Nota: En versiones de Qt anteriores a la 6.8, esta función tomaba QString, no QAnyStringView.

Se trata de una función sobrecargada.

Véase también indexOf() y isNull().

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

Devuelve true si este objeto no es idéntico a other; en caso contrario devuelve false.

Véase también operator==().

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

Mover-asigna other a esta instancia QSqlRecord.

Nota: El objeto movido-desde other se coloca en un estado parcialmente formado, en el que las únicas operaciones válidas son la destrucción y la asignación de un nuevo valor.

Esta función se introdujo en Qt 6.6.

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

Establece el registro igual a other.

QSqlRecord se comparte implícitamente. Esto significa que puedes hacer copias de un registro en tiempo constante.

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

Devuelve true si este objeto es idéntico a other (es decir, tiene los mismos campos en el mismo orden); en caso contrario devuelve false.

Véase también 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.