Spec-Zone.ru › Qt 5.6

Класс QSqlField

Класс QSqlField манипулирует полями в таблицах и представлениях баз данных SQL. Подробнее...

Заголовок: #include <QSqlField>
qmake: QT += sql
  • Список всех членов, включая унаследованные

Открытые типы

перечисление RequiredStatus { Required, Optional, Unknown }

Открытые функции

… (rest of the table is translated similarly)
QSqlField(const QString &fieldName = QString(), QVariant::Type type = QVariant::Invalid)
QSqlField(const QSqlField &other)
~QSqlField()
void clear()
QVariant defaultValue() const
bool isAutoValue() const
bool isGenerated() const
bool isNull() const
bool isReadOnly() const
bool isValid() const
int length() const
QString name() const
int precision() const
RequiredStatus requiredStatus() const
void setAutoValue(bool autoVal)

Подробное описание

Класс QSqlField манипулирует полями в таблицах и представлениях баз данных SQL.

QSqlField представляет характеристики одного столбца в таблице или представлении базы данных, такие как тип данных и имя столбца. Поле также содержит значение столбца базы данных, которое можно просмотреть или изменить.

Значения данных поля хранятся как QVariant. Использование несовместимого типа запрещено. Например:

    QSqlField field("age", QVariant::Int);
    field.setValue(QPixmap());  // WRONG

Однако, поле попытается преобразовать определённые типы данных в тип данных поля, где это возможно:

    QSqlField field("age", QVariant::Int);
    field.setValue(QString("123"));  // casts QString to int

Объекты QSqlField редко создаются явно в коде приложения. Обычно к ним обращаются косвенно через QSqlRecord, которые уже содержат список полей. Например:

    QSqlQuery query;
    ...
    QSqlRecord record = query.record();
    QSqlField field = record.field("country");

Объект QSqlField может предоставлять некоторые метаданные о поле, например, его имя(), тип QVariant, длину, точность, значение по умолчанию, typeID(), и его requiredStatus(), isGenerated() и isReadOnly(). Можно проверить данные поля, чтобы увидеть, isNull(), и получить его значение(). При редактировании данные можно установить с помощью setValue() или установить в NULL с помощью clear().

См. также QSqlRecord.

Документация по типам членов

перечисление QSqlField::RequiredStatus

Указывает, является ли поле обязательным или необязательным.

… (rest of the table is translated similarly)
Постоянная Значение Описание

См. также requiredStatus().

Документация по функциям-членам

QSqlField::QSqlField(const QString &fieldName = QString(), QVariant::Type type = QVariant::Invalid)

Создаёт пустое поле с именем fieldName типа type.

См. также setRequiredStatus(), setLength(), setPrecision(), setDefaultValue(), setGenerated(), и setReadOnly().

QSqlField::QSqlField(const QSqlField &other)

Создаёт копию other.

QSqlField::~QSqlField()

Удаляет объект и освобождает выделенные ресурсы.

void QSqlField::clear()

Очищает значение поля и устанавливает его в NULL. Если поле только для чтения, ничего не происходит.

См. также setValue(), isReadOnly(), и requiredStatus().

QVariant QSqlField::defaultValue() const

Возвращает значение по умолчанию поля (которое может быть NULL).

См. также setDefaultValue(), type(), requiredStatus(), length(), precision(), и isGenerated().

bool QSqlField::isAutoValue() const

Возвращает true если значение автоматически генерируется базой данных, например, значения автоинкрементируемого первичного ключа.

Примечание: При использовании драйвера ODBC, из-за ограничений API ODBC, поле isAutoValue() заполняется только в QSqlField, полученном из QSqlRecord, полученного в результате выполнения запроса SELECT. Оно false в QSqlField из QSqlRecord, возвращенного из QSqlDatabase::record() или QSqlDatabase::primaryIndex().

См. также setAutoValue().

bool QSqlField::isGenerated() const

Возвращает true, если поле сгенерировано; в противном случае возвращает false.

См. также setGenerated(), type(), requiredStatus(), length(), precision() и defaultValue().

bool QSqlField::isNull() const

Возвращает true, если значение поля равно NULL; в противном случае возвращает false.

См. также value().

bool QSqlField::isReadOnly() const

Возвращает true, если значение поля является только для чтения; в противном случае возвращает false.

См. также setReadOnly(), type(), requiredStatus(), length(), precision(), defaultValue() и isGenerated().

bool QSqlField::isValid() const

Возвращает true, если тип варианта поля корректен; в противном случае возвращает false.

int QSqlField::length() const

Возвращает длину поля.

Если возвращаемое значение отрицательное, это означает, что информация недоступна из базы данных.

См. также setLength(), type(), requiredStatus(), precision(), defaultValue() и isGenerated().

QString QSqlField::name() const

Возвращает имя поля.

См. также setName().

int QSqlField::precision() const

Возвращает точность поля; это имеет смысл только для числовых типов.

Если возвращаемое значение отрицательное, это означает, что информация недоступна из базы данных.

См. также setPrecision(), type(), requiredStatus(), length(), defaultValue() и isGenerated().

RequiredStatus QSqlField::requiredStatus() const

Возвращает true, если это обязательное поле; в противном случае возвращает false. Запрос INSERT потерпит неудачу, если для обязательного поля не задано значение.

См. также setRequiredStatus(), type(), length(), precision(), defaultValue() и isGenerated().

void QSqlField::setAutoValue(bool autoVal)

Помечает поле как автоматически сгенерированное значение, если autoVal равно true.

См. также isAutoValue().

void QSqlField::setDefaultValue(const QVariant &value)

Устанавливает значение по умолчанию для этого поля на value.

См. также defaultValue(), value(), setType(), setRequiredStatus(), setLength(), setPrecision(), setGenerated() и setReadOnly().

void QSqlField::setGenerated(bool gen)

Устанавливает состояние генерации. Если gen равно false, для этого поля не будет генерироваться SQL; в противном случае, такие классы Qt, как QSqlQueryModel и QSqlTableModel, сгенерируют SQL для этого поля.

См. также isGenerated(), setType(), setRequiredStatus(), setLength(), setPrecision(), setDefaultValue() и setReadOnly().

void QSqlField::setLength(int fieldLength)

Устанавливает длину поля на fieldLength. Для строк это максимальное количество символов, которое может содержать строка; для других типов значение меняется.

См. также length(), setType(), setRequiredStatus(), setPrecision(), setDefaultValue(), setGenerated() и setReadOnly().

void QSqlField::setName(const QString &name)

Устанавливает имя поля на name.

См. также name().

void QSqlField::setPrecision(int precision)

Устанавливает точность поля. Это касается только числовых полей.

См. также precision(), setType(), setRequiredStatus(), setLength(), setDefaultValue(), setGenerated() и setReadOnly().

void QSqlField::setReadOnly(bool readOnly)

Устанавливает флаг только для чтения значения поля на readOnly. Для поля только для чтения нельзя установить значение с помощью setValue() и нельзя очистить до NULL с помощью clear().

См. также isReadOnly().

void QSqlField::setRequired(bool required)

Устанавливает статус обязательности этого поля на Required, если required равно true; в противном случае устанавливает на Optional.

См. также setRequiredStatus() и requiredStatus().

void QSqlField::setRequiredStatus(RequiredStatus required)

Устанавливает статус обязательности этого поля на required.

См. также requiredStatus(), setType(), setLength(), setPrecision(), setDefaultValue(), setGenerated() и setReadOnly().

void QSqlField::setType(QVariant::Type type)

Устанавливает тип поля-вариаты на type.

См. также type(), setRequiredStatus(), setLength(), setPrecision(), setDefaultValue(), setGenerated() и setReadOnly().

void QSqlField::setValue(const QVariant &value)

Устанавливает значение поля на value. Если поле является только для чтения (isReadOnly() возвращает true), ничего не происходит.

Если тип данных value отличается от текущего типа данных поля, выполняется попытка преобразования к нужному типу. Это сохраняет тип данных поля при присваивании, например, QString целочисленному типу данных.

Для установки значения в NULL используйте clear().

См. также value(), isReadOnly() и defaultValue().

QVariant::Type QSqlField::type() const

Возвращает тип поля, как хранится в базе данных. Обратите внимание, что фактическое значение может иметь другой тип. Числовые значения, слишком большие для хранения в long int или double, обычно хранятся как строки, чтобы предотвратить потерю точности.

См. также setType().

QVariant QSqlField::value() const

Возвращает значение поля как QVariant.

Используйте isNull(), чтобы проверить, является ли значение поля NULL.

См. также setValue().

END_OF_DOCUMENT_MARKER

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

Возвращает true, если поле не равно other; в противном случае возвращает false.

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

Устанавливает поле равным other.

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

Возвращает true, если поле равно other; в противном случае возвращает false.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qsqlfield.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API