Класс QSqlRecord
Класс QSqlRecord инкапсулирует запись базы данных. Подробнее...
| Заголовок: | #include <QSqlRecord> |
| CMake: | find_package(Qt6 COMPONENTS Sql REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Sql) |
| qmake: | QT += sql |
| Наследуется от: |
Открытые функции
| QSqlRecord(const QSqlRecord &other) | |
| QSqlRecord() | |
| QSqlRecord & | operator=(const QSqlRecord &other) |
| ~QSqlRecord() | |
| void | append(const QSqlField &field) |
| void | clear() |
| void | clearValues() |
| bool | contains(const QString &name) const |
| int | count() const |
| QSqlField | field(int index) const |
| QSqlField | field(const QString &name) const |
| QString | fieldName(int index) const |
| int | indexOf(const QString &name) const |
| void | insert(int pos, const QSqlField &field) |
| bool | isEmpty() const |
| bool | isGenerated(const QString &name) const |
Подробное описание
Класс QSqlRecord инкапсулирует функциональность и характеристики записи базы данных (обычно строки в таблице или представлении в базе данных). QSqlRecord поддерживает добавление и удаление полей, а также установку и получение значений полей.
Значения полей записи можно установить по имени или позиции с помощью setValue(); если вы хотите установить поле в значение null, используйте setNull(). Чтобы найти позицию поля по имени, используйте indexOf(), а чтобы найти имя поля по определённой позиции, используйте fieldName(). Используйте field(), чтобы получить объект QSqlField для данного поля. Используйте contains(), чтобы проверить, содержит ли запись определённое имя поля.
При генерации запросов для выполнения в базе данных включаются только те поля, для которых isGenerated() равно true.
В запись можно добавлять поля с помощью append() или insert(), заменять их с помощью replace() и удалять с помощью remove(). Все поля можно удалить с помощью clear(). Количество полей задаётся функцией count(); все их значения могут быть очищены (до значения null) с помощью clearValues().
См. также QSqlField и QSqlQuery::record().
Документация по функциям-членам
QSqlRecord::QSqlRecord(const QSqlRecord &other)
Создаёт копию other.
QSqlRecord использует неявное совместное использование. Это означает, что вы можете создавать копии записи за постоянное время.
QSqlRecord::QSqlRecord()
Создаёт пустую запись.
См. также isEmpty(), append() и insert().
QSqlRecord &QSqlRecord::operator=(const QSqlRecord &other)
Устанавливает значение записи равным other.
QSqlRecord использует неявное совместное использование. Это означает, что вы можете создавать копии записи за постоянное время.
QSqlRecord::~QSqlRecord()
Удаляет объект и освобождает все выделенные ресурсы.
void QSqlRecord::append(const QSqlField &field)
Добавляет копию поля field в конец записи.
См. также insert(), replace() и remove().
void QSqlRecord::clear()
Удаляет все поля записи.
См. также clearValues() и isEmpty().
void QSqlRecord::clearValues()
Очищает значения всех полей в записи и устанавливает каждое поле в null.
См. также setValue().
bool QSqlRecord::contains(const QString &name) const
Возвращает true, если в записи есть поле с именем name; в противном случае возвращает false.
int QSqlRecord::count() const
Возвращает количество полей в записи.
См. также isEmpty().
QSqlField QSqlRecord::field(int index) const
Возвращает поле в позиции index. Если index находится вне диапазона, функция возвращает значение по умолчанию.
QSqlField QSqlRecord::field(const QString &name) const
Это перегруженная функция.
Возвращает поле с именем name.
QString QSqlRecord::fieldName(int index) const
Возвращает имя поля в позиции index. Если поле не существует, возвращается пустая строка.
См. также indexOf().
int QSqlRecord::indexOf(const QString &name) const
Возвращает позицию поля с именем name в записи, или -1, если поле не найдено. Имена полей нечувствительны к регистру. Если совпадает более одного поля, возвращается первое.
См. также fieldName().
void QSqlRecord::insert(int pos, const QSqlField &field)
Вставляет поле field в позицию pos в записи.
См. также append(), replace() и remove().
bool QSqlRecord::isEmpty() const
Возвращает true если в записи нет полей; в противном случае возвращает false.
См. также append(), insert() и clear().
bool QSqlRecord::isGenerated(const QString &name) const
Возвращает true если запись содержит поле с именем name, и это поле должно быть сгенерировано (по умолчанию); в противном случае возвращает false.
См. также setGenerated().
bool QSqlRecord::isGenerated(int index) const
Это перегруженная функция.
Возвращает true если запись содержит поле в позиции index, и это поле должно быть сгенерировано (по умолчанию); в противном случае возвращает false.
См. также setGenerated().
bool QSqlRecord::isNull(const QString &name) const
Возвращает true если поле с именем name имеет значение null, или если такое поле не существует; в противном случае возвращает false.
См. также setNull().
bool QSqlRecord::isNull(int index) const
Это перегруженная функция.
Возвращает true если поле index имеет значение null, или если такое поле не существует; в противном случае возвращает false.
[since 5.1] QSqlRecord QSqlRecord::keyValues(const QSqlRecord &keyFields) const
Возвращает запись, содержащую поля, представленные в keyFields, установленные в значения, соответствующие по имени поля.
Эта функция была добавлена в Qt 5.1.
void QSqlRecord::remove(int pos)
Удаляет поле в позиции pos. Если pos находится вне диапазона, ничего не происходит.
См. также append(), insert() и replace().
void QSqlRecord::replace(int pos, const QSqlField &field)
Заменяет поле в позиции pos заданным полем field. Если pos находится вне диапазона, ничего не происходит.
См. также append(), insert() и remove().
void QSqlRecord::setGenerated(const QString &name, bool generated)
Устанавливает флаг сгенерированного поля с именем name в значение generated. Если поле не существует, ничего не происходит. Только поля, для которых generated установлено в true, включаются в SQL, который генерируется, например, QSqlQueryModel.
См. также isGenerated().
void QSqlRecord::setGenerated(int index, bool generated)
Это перегруженная функция.
Устанавливает флаг сгенерированного поля index в значение generated.
См. также isGenerated().
void QSqlRecord::setNull(int index)
Устанавливает значение поля index в null. Если поле не существует, ничего не происходит.
См. также isNull() и setValue().
void QSqlRecord::setNull(const QString &name)
Это перегруженная функция.
Устанавливает значение поля с именем name в null. Если поле не существует, ничего не происходит.
void QSqlRecord::setValue(int index, const QVariant &val)
Устанавливает значение поля в позиции index в val. Если поле не существует, ничего не происходит.
См. также value() и setNull().
void QSqlRecord::setValue(const QString &name, const QVariant &val)
Это перегруженная функция.
Устанавливает значение поля с именем name в val. Если поле не существует, ничего не происходит.
QVariant QSqlRecord::value(int index) const
Возвращает значение поля, расположенного в позиции index в записи. Если index выходит за пределы, возвращается недействительный QVariant.
См. также setValue(), fieldName() и isNull().
QVariant QSqlRecord::value(const QString &name) const
Это перегруженная функция.
Возвращает значение поля с именем name в записи. Если поле name не существует, возвращается недействительный вариант.
См. также indexOf().
bool QSqlRecord::operator!=(const QSqlRecord &other) const
Возвращает true если этот объект не идентичен other; в противном случае возвращает false.
См. также operator==().
bool QSqlRecord::operator==(const QSqlRecord &other) const
Возвращает true если этот объект идентичен other (т.е. имеет те же поля в том же порядке); в противном случае возвращает false.
См. также operator!=().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qsqlrecord.html