Q3SqlFieldInfo Class

The Q3SqlFieldInfo class stores meta data associated with a SQL field. More...

Header: #include <Q3SqlFieldInfo>

Public Functions

Q3SqlFieldInfo(const QString & name = QString(), QVariant::Type typ = QVariant::Invalid, int required = -1, int len = -1, int prec = -1, const QVariant & defValue = QVariant(), int typeID = 0, bool generated = true, bool trim = false, bool calculated = false)
Q3SqlFieldInfo(const QSqlField & other)
virtual ~Q3SqlFieldInfo()
QVariant defaultValue() const
bool isCalculated() const
bool isGenerated() const
int isRequired() const
bool isTrim() const
int length() const
QString name() const
int precision() const
virtual void setCalculated(bool calculated)
virtual void setGenerated(bool generated)
virtual void setTrim(bool trim)
QSqlField toField() const
QVariant::Type type() const
int typeID() const
bool operator==(const Q3SqlFieldInfo & other) const

Detailed Description

The Q3SqlFieldInfo class stores meta data associated with a SQL field.

Q3SqlFieldInfo objects only store meta data; field values are stored in QSqlField objects.

All values must be set in the constructor, and may be retrieved using isRequired(), type(), length(), precision(), defaultValue(), name(), isGenerated() and typeID().

See also Q3SqlRecordInfo.

Member Function Documentation

Q3SqlFieldInfo::Q3SqlFieldInfo(const QString & name = QString(), QVariant::Type typ = QVariant::Invalid, int required = -1, int len = -1, int prec = -1, const QVariant & defValue = QVariant(), int typeID = 0, bool generated = true, bool trim = false, bool calculated = false)

Constructs a Q3SqlFieldInfo with the following parameters:

namethe name of the field.
typthe field's type in a QVariant.
requiredgreater than 0 if the field is required, 0 if its value can be NULL and less than 0 if it cannot be determined whether the field is required or not.
lenthe length of the field. Note that for non-character types some databases return either the length in bytes or the number of digits. -1 signifies that the length cannot be determined.
precthe precision of the field, or -1 if the field has no precision or it cannot be determined.
defValuethe default value that is inserted into the table if none is specified by the user. QVariant() if there is no default value or it cannot be determined.
typeIDthe internal typeID of the database system (only useful for low-level programming). 0 if unknown.
generatedTRUE indicates that this field should be included in auto-generated SQL statments, e.g. in Q3SqlCursor.
trimTRUE indicates that widgets should remove trailing whitespace from character fields. This does not affect the field value but only its representation inside widgets.
calculatedTRUE indicates that the value of this field is calculated. The value of calculated fields can by modified by subclassing Q3SqlCursor and overriding Q3SqlCursor::calculateField().

Q3SqlFieldInfo::Q3SqlFieldInfo(const QSqlField & other)

Creates a Q3SqlFieldInfo object with the type and the name of the QSqlField other.

[virtual] Q3SqlFieldInfo::~Q3SqlFieldInfo()

Destroys the object and frees any allocated resources.

QVariant Q3SqlFieldInfo::defaultValue() const

Returns the field's default value or an empty QVariant if the field has no default value or the value couldn't be determined. The default value is the value inserted in the database when it is not explicitly specified by the user.

bool Q3SqlFieldInfo::isCalculated() const

Returns TRUE if the field is calculated; otherwise returns FALSE.

See also setCalculated().

bool Q3SqlFieldInfo::isGenerated() const

Returns TRUE if the field should be included in auto-generated SQL statments, e.g. in Q3SqlCursor; otherwise returns FALSE.

See also setGenerated().

int Q3SqlFieldInfo::isRequired() const

Returns a value greater than 0 if the field is required (NULL values are not allowed), 0 if it isn't required (NULL values are allowed) or less than 0 if it cannot be determined whether the field is required or not.

bool Q3SqlFieldInfo::isTrim() const

Returns TRUE if trailing whitespace should be removed from character fields; otherwise returns FALSE.

See also setTrim().

int Q3SqlFieldInfo::length() const

Returns the field's length. For fields storing text the return value is the maximum number of characters the field can hold. For non-character fields some database systems return the number of bytes needed or the number of digits allowed. If the length cannot be determined -1 is returned.

QString Q3SqlFieldInfo::name() const

Returns the name of the field in the SQL table.

int Q3SqlFieldInfo::precision() const

Returns the field's precision or -1 if the field has no precision or it cannot be determined.

[virtual] void Q3SqlFieldInfo::setCalculated(bool calculated)

calculated set to TRUE indicates that this field is a calculated field. The value of calculated fields can by modified by subclassing Q3SqlCursor and overriding Q3SqlCursor::calculateField().

See also isCalculated().

[virtual] void Q3SqlFieldInfo::setGenerated(bool generated)

generated set to FALSE indicates that this field should not appear in auto-generated SQL statements (for example in Q3SqlCursor).

See also isGenerated().

[virtual] void Q3SqlFieldInfo::setTrim(bool trim)

If trim is TRUE widgets should remove trailing whitespace from character fields. This does not affect the field value but only its representation inside widgets.

See also isTrim().

QSqlField Q3SqlFieldInfo::toField() const

Returns an empty QSqlField based on the information in this Q3SqlFieldInfo.

QVariant::Type Q3SqlFieldInfo::type() const

Returns the field's type or QVariant::Invalid if the type is unknown.

int Q3SqlFieldInfo::typeID() const

Returns the internal type identifier as returned from the database system. The return value is 0 if the type is unknown.

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

Assigns other to this field info and returns a reference to it.

© 2016 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.