Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QSqlField Class Reference
[QtSql module]

该QSqlField类操纵在SQL数据库中的表和视图中的字段。More...

Types

Methods

Special Methods


Detailed Description

该QSqlField类操纵在SQL数据库中的表和视图中的字段。

QSqlField表示单个列在数据库中的表或视图的特性,诸如数据类型和列名。字段也包含了数据库列,可以查看或更改的值。

字段数据值被存储为QVariants。使用不兼容的类型是不允许的。例如:

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

然而,该领域将尝试施放某些数据类型的字段的数据类型的地方可能:

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

QSqlField对象很少在应用程序代码中显式创建。它们通常是通过间接访问QSqlRecords表示已经包含字段的列表。例如:

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

一个QSqlField对象可以提供一些元数据有关的领域,例如,其name( ) ,变异type( )length( )precision( )defaultValue() , typeid的() ,并且它的requiredStatus( )isGenerated()和isReadOnly( ) 。该字段的数据可以被检查,看它是否isNull() ,和其value( )检索。当编辑数据可以与设置setValue()或设置为NULL与clear( ) 。


Type Documentation

QSqlField.RequiredStatus

指定字段是必需的还是可选的。

Constant Value Description
QSqlField.Required 1 插入记录时,该字段必须被指定。
QSqlField.Optional 0 该字段没有插入记录时指定。
QSqlField.Unknown -1 数据库驱动程序无法确定该字段是否是必需的或可选的。

See also requiredStatus( ) 。


Method Documentation

QSqlField.__init__ (self, QString fieldName = QString(), Type type = QVariant.Invalid)

构造一个空字段称为fieldName变异型type

See also setRequiredStatus( )setLength( )setPrecision( )setDefaultValue( )setGenerated()和setReadOnly( ) 。

QSqlField.__init__ (self, QSqlField other)

构造的副本other

QSqlField.clear (self)

清除字段的值,并将其设置为NULL 。如果该字段是只读的,什么也没有发生。

See also setValue( )isReadOnly()和requiredStatus( ) 。

QVariant QSqlField.defaultValue (self)

返回字段的默认值(可能为空) 。

See also setDefaultValue( )type( )requiredStatus( )length( )precision()和isGenerated( ) 。

bool QSqlField.isAutoValue (self)

返回True如果该值是由数据库自动生成,例如自动递增的主键值。

See also setAutoValue( ) 。

bool QSqlField.isGenerated (self)

返回True如果生成的字段,否则返回False 。

See also setGenerated( )type( )requiredStatus( )length( )precision()和defaultValue( ) 。

bool QSqlField.isNull (self)

返回True如果该字段的值为NULL ,否则返回False 。

See also value( ) 。

bool QSqlField.isReadOnly (self)

返回True,如果该字段的值是只读的,否则返回False 。

See also setReadOnly( )type( )requiredStatus( )length( )precision( )defaultValue()和isGenerated( ) 。

bool QSqlField.isValid (self)

返回True如果该字段的变量类型是有效的,否则返回False 。

int QSqlField.length (self)

返回字段的长度。

如果返回的值是负的,这意味着该信息不可用,从数据库中。

See also setLength( )type( )requiredStatus( )precision( )defaultValue()和isGenerated( ) 。

QString QSqlField.name (self)

返回字段的名称。

See also setName( ) 。

int QSqlField.precision (self)

返回字段的精度,这是唯一有意义的数值类型。

如果返回的值是负的,这意味着该信息不可用,从数据库中。

See also setPrecision( )type( )requiredStatus( )length( )defaultValue()和isGenerated( ) 。

RequiredStatus QSqlField.requiredStatus (self)

返回True如果这是一个必需的字段,否则返回False 。一个INSERT如果一个必填字段没有值将会失败。

See also setRequiredStatus( )type( )length( )precision( )defaultValue()和isGenerated( ) 。

QSqlField.setAutoValue (self, bool autoVal)

标志着字段自动生成的值,如果autoVal是真实的。

See also isAutoValue( ) 。

QSqlField.setDefaultValue (self, QVariant value)

设置用于此字段的默认值value

See also defaultValue( )value( )setType( )setRequiredStatus( )setLength( )setPrecision( )setGenerated()和setReadOnly( ) 。

QSqlField.setGenerated (self, bool gen)

设置生成的状态。如果gen是假的,没有SQL将这个字段来产生,否则, Qt类如QSqlQueryModelQSqlTableModel将生成的SQL这一领域。

See also isGenerated( )setType( )setRequiredStatus( )setLength( )setPrecision( )setDefaultValue()和setReadOnly( ) 。

QSqlField.setLength (self, int fieldLength)

设置字段的长度fieldLength。对于字符串是字符的字符串可以容纳的最大人数;对于其它类型的含义各不相同。

See also length( )setType( )setRequiredStatus( )setPrecision( )setDefaultValue( )setGenerated()和setReadOnly( ) 。

QSqlField.setName (self, QString name)

设置字段的名称name

See also name( ) 。

QSqlField.setPrecision (self, int precision)

设置字段的precision。这只会影响数字字段。

See also precision( )setType( )setRequiredStatus( )setLength( )setDefaultValue( )setGenerated()和setReadOnly( ) 。

QSqlField.setReadOnly (self, bool readOnly)

设置只读标志字段的值来readOnly。只读字段不能有其值设置与setValue( ),并不能清除为NULL与clear( ) 。

See also isReadOnly( ) 。

QSqlField.setRequired (self, bool required)

设置这个字段所需要的状态Required如果required为True,否则设置为Optional

See also setRequiredStatus()和requiredStatus( ) 。

QSqlField.setRequiredStatus (self, RequiredStatus status)

设置这个字段所需要的状态required

See also requiredStatus( )setType( )setLength( )setPrecision( )setDefaultValue( )setGenerated()和setReadOnly( ) 。

QSqlField.setSqlType (self, int type)

QSqlField.setType (self, Type type)

集的字段的变量类型type

See also type( )setRequiredStatus( )setLength( )setPrecision( )setDefaultValue( )setGenerated()和setReadOnly( ) 。

QSqlField.setValue (self, QVariant value)

设置该字段的值,以value。如果该字段是只读的(isReadOnly( )返回True ) ,没有任何反应。

如果数据类型value不同于字段的当前数据类型,试图将其转换为适当的类型。这将保留字段的数据类型的赋值,如案件一QString为整数数据类型。

将值设置为NULL ,使用clear( ) 。

See also value( )isReadOnly()和defaultValue( ) 。

Type QSqlField.type (self)

返回字段的类型与存储在数据库中。请注意,实际值可能有不同的类型,即是太大,无法存储在一个长整型或双通常被存储为字符串,以防止丢失精度的数值。

See also setType( ) 。

int QSqlField.typeID (self)

QVariant QSqlField.value (self)

返回该字段的值作为QVariant

使用isNull( )来检查该字段的值是NULL 。

See also setValue( ) 。

bool QSqlField.__eq__ (self, QSqlField other)

bool QSqlField.__ne__ (self, QSqlField other)




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5