QSqlField Class Reference
[QtSql module]
该QSqlField类操纵在SQL数据库中的表和视图中的字段。More…
Types
enum RequiredStatus { Unknown, Optional, Required }
Methods
__init__ (self, QString fieldName = QString(), Type type = QVariant.Invalid)
__init__ (self, QSqlField other)
clear (self)
QVariant defaultValue (self)
bool isAutoValue (self)
bool isGenerated (self)
bool isNull (self)
bool isReadOnly (self)
bool isValid (self)
int length (self)
QString name (self)
int precision (self)
RequiredStatus requiredStatus (self)
setAutoValue (self, bool autoVal)
setDefaultValue (self, QVariant value)
setGenerated (self, bool gen)
setLength (self, int fieldLength)
setName (self, QString name)
setPrecision (self, int precision)
setReadOnly (self, bool readOnly)
setRequired (self, bool required)
setRequiredStatus (self, RequiredStatus status)
setSqlType (self, int type)
setType (self, Type type)
setValue (self, QVariant value)
Type type (self)
int typeID (self)
QVariant value (self)
Special Methods
bool __eq__ (self, QSqlField other)
bool __ne__ (self, QSqlField other)
Detailed Description
该QSqlField类操纵在SQL数据库中的表和视图中的字段。
QSqlField表示单个列在数据库中的表或视图的特性,诸如数据类型和列名。字段也包含了数据库列,可以查看或更改的值。
字段数据值被存储为QVariants。使用不兼容的类型是不允许的。例如:
QSqlField field("age", [QVariant]($docs-qvariant.html).Int);
field.setValue([QPixmap](qpixmap.html)()); // WRONG
然而,该领域将尝试施放某些数据类型的字段的数据类型的地方可能:
QSqlField field("age", [QVariant]($docs-qvariant.html).Int);
field.setValue([QString]($docs-qstring.html)("123")); // casts QString to int
QSqlField对象很少在应用程序代码中显式创建。它们通常是通过间接访问QSqlRecords表示已经包含字段的列表。例如:
[QSqlQuery](qsqlquery.html) query;
...
[QSqlRecord]($docs-qsqlrecord.html) 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
如果一个必填字段没有值将会失败。
]($docs-qsqlfield.html#RequiredStatus-enum)
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类如QSqlQueryModel和QSqlTableModel将生成的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)
[
返回字段的类型与存储在数据库中。请注意,实际值可能有不同的类型,即是太大,无法存储在一个长整型或双通常被存储为字符串,以防止丢失精度的数值。
]($docs-index.htm#Type-enum)
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)