QSqlFieldInfo Class Reference
[sql module]
The QSqlFieldInfo class stores meta data associated with a SQL field.
More...
#include <qsqlfield.h>
List of all member functions.
Public Members
QSqlFieldInfo ( const QString & name = QString::null, 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 )
QSqlFieldInfo &
operator= ( const QSqlFieldInfo & other )
QVariant::Type
type () const
Detailed Description
The QSqlFieldInfo class stores meta data associated with a SQL field.
QSqlFieldInfo 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 Database Classes.
Member Function Documentation
QSqlFieldInfo::QSqlFieldInfo ( const QString & name = QString::null, 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 QSqlFieldInfo with the following parameters:
- name the name of the field.
- typ the field's type in a QVariant.
- required greater 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.
- len the 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.
- prec the precision of the field, or -1 if the field has no
precision or it cannot be determined.
- defValue the 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.
- typeID the internal typeID of the database system (only
useful for low-level programming). 0 if unknown.
- generated TRUE indicates that this field should be included
in auto-generated SQL statments, e.g. in QSqlCursor.
- trim TRUE indicates that widgets should remove trailing
whitespace from character fields. This does not affect the field
value but only its representation inside widgets.
- calculated TRUE indicates that the value of this field is
calculated. The value of calculated fields can by modified by
subclassing QSqlCursor and overriding QSqlCursor::calculateField().
QSqlFieldInfo::QSqlFieldInfo ( const QSqlFieldInfo & other )
Constructs a copy of other.
QSqlFieldInfo::QSqlFieldInfo ( const QSqlField & other, bool generated = TRUE )
Creates a QSqlFieldInfo object with the type and the name of the
QSqlField other. If generated is TRUE this field will be included
in auto-generated SQL statments, e.g. in QSqlCursor.
QSqlFieldInfo::~QSqlFieldInfo () [virtual]
Destroys the object and frees any allocated resources.
QVariant QSqlFieldInfo::defaultValue () const
Returns the default value of this field 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 was not explicitly specified by the user.
bool QSqlFieldInfo::isCalculated () const
Returns TRUE if the field is calculated.
See also setCalculated().
bool QSqlFieldInfo::isGenerated () const
Returns TRUE if this field should be included in auto-generated
SQL statments, e.g. in QSqlCursor; otherwise returns FALSE.
See also setGenerated().
int QSqlFieldInfo::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 QSqlFieldInfo::isTrim () const
Returns TRUE if trailing whitespace should be removed from character
fields.
See also setTrim().
int QSqlFieldInfo::length () const
Returns the length of this field. 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 QSqlFieldInfo::name () const
Returns the name of the field in the SQL table.
Examples: sql/overview/subclass3/main.cpp and sql/overview/subclass4/main.cpp.
Assigns other to this field info and returns a reference to it.
bool QSqlFieldInfo::operator== ( const QSqlFieldInfo & f ) const
Returns TRUE if this fieldinfo is equal to f; otherwise returns FALSE.
Two field infos are considered equal when all their attributes match.
int QSqlFieldInfo::precision () const
Returns the precision of this field or -1 if the field has no precision
or it cannot be determined.
void QSqlFieldInfo::setCalculated ( bool calc ) [virtual]
calc set to TRUE indicates that this field is a calculated
field. The value of calculated fields can by modified by subclassing
QSqlCursor and overriding QSqlCursor::calculateField().
See also isCalculated().
void QSqlFieldInfo::setGenerated ( bool gen ) [virtual]
gen set to FALSE indicates that this field should not appear
in auto-generated SQL statements (for example in QSqlCursor).
See also isGenerated().
void QSqlFieldInfo::setTrim ( bool trim ) [virtual]
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 QSqlFieldInfo::toField () const
Returns an empty QSqlField based on the information
in this QSqlFieldInfo.
QVariant::Type QSqlFieldInfo::type () const
Returns the type of this field or QVariant::Invalid if the type is unknown.
int QSqlFieldInfo::typeID () const
Returns the internal type identifier as returned from the database system.
The return value is 0 if the type is unknown.
Warning: This information is only useful for low-level database
programming and is not database independent.
This file is part of the Qt toolkit.
Copyright © 1995-2002
Trolltech. All Rights Reserved.