class QSqlRecord#

QSqlRecord 类封装了数据库记录。...

继承自: QSqlIndex

概要

方法

注意

本文档可能包含从 C++ 自动翻译到 Python 的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单来告知我们

详细说明#

QSqlRecord 类封装了数据库记录(通常是在数据库中表或视图中的一行)的功能和特性。 QSqlRecord 支持添加和删除字段,以及设置和检索字段值。

记录字段的值可以通过名称或位置设置,使用 setValue();如果要将字段设为空,请使用 setNull()。要通过名称查找字段的索引,请使用 indexOf(),要通过特定位置查找字段的名称,请使用 fieldName()。使用 field() 获取给定字段的 QSqlField 对象。使用 contains() 检查记录中是否包含特定字段名称。

在生成仅在数据库上执行的查询时,仅包含 isGenerated() 为真的字段生成SQL。

记录可以通过 append()insert() 添加字段,通过 replace() 替换,通过 remove() 删除。所有字段都可以使用 clear() 删除。字段的数量由 count() 提供;所有字段的值都可以清除(设为空)使用 clearValues()

__init__(other)#
参数:

otherQSqlRecord

创建 other 的副本。

QSqlRecord 是隐式共享的。这意味着您可以在恒定时间内复制记录。

__init__()

构建一个空记录。

append(field)#
参数:

fieldQSqlField

将字段的副本添加到记录的末尾。

clear()#

移除记录中的所有字段。

clearValues()#

清除记录中所有字段的值,并将每个字段设置为空。

参见

setValue()

contains(name)#
参数:

name – 字符串

返回类型:

布尔值

如果记录中存在名为 name 的字段,则返回 true;否则返回 false

count()#
返回类型:

整数

返回记录中的字段数量。

参见

isEmpty()

field(name)#
参数:

name – 字符串

返回类型:

QSqlField

这是一个重载函数。

返回名为 name 的字段。

field(i)
参数:

i – 整数

返回类型:

QSqlField

返回位置 index 的字段。如果 index 超出范围,则函数返回默认构造的值。

fieldName(i)#
参数:

i – 整数

返回类型:

str

返回位置为 index 的字段名称。如果该字段不存在,则返回空字符串。

参见

indexOf()

indexOf(name)#
参数:

name – 字符串

返回类型:

整数

返回名为 name 的字段在记录中的位置,如果找不到则返回 -1。字段名称不区分大小写。如果多个字段匹配,则返回第一个。

参见

fieldName()

insert(pos, field)#
参数:

将字段 field 插入到记录的 pos 位置。

isEmpty()#
返回类型:

布尔值

如果没有字段在记录中,则返回 true;否则返回 false

isGenerated(name)#
参数:

name – 字符串

返回类型:

布尔值

如果记录中有一个名为 name 的字段并且该字段要被生成(默认行为),则返回 true;否则返回 false

isGenerated(i)
参数:

i – 整数

返回类型:

布尔值

这是一个重载函数。

如果记录在位置 index 处有一个字段并且该字段要被生成(默认行为),则返回 true;否则返回 false

isNull(name)#
参数:

name – 字符串

返回类型:

布尔值

如果名为 name 的字段为空或者不存在该字段,则返回 true;否则返回 false

参见

setNull()

isNull(i)
参数:

i – 整数

返回类型:

布尔值

这是一个重载函数。

如果字段 index 为空或者在该位置没有字段,则返回 true;否则返回 false

keyValues(keyFields)#
参数:

keyFieldsQSqlRecord

返回类型:

QSqlRecord

返回一个记录,其字段表示 keyFields 中设置的值,以字段名称匹配。

__ne__(other)#
参数:

otherQSqlRecord

返回类型:

布尔值

如果此对象不与 other 相同,则返回 true;否则返回 false

参见

operator==()

__eq__(other)#
参数:

otherQSqlRecord

返回类型:

布尔值

如果此对象与 other 相同(即,具有相同的字段和相同的顺序),则返回 true;否则返回 false

参见

operator!=()

remove(pos)#
参数:

pos – int

移除位置 pos 的字段。如果 pos 超出范围,则不执行任何操作。

replace(pos, field)#
参数:

使用给定的 field 替换位置 pos 的字段。如果 pos 超出范围,则不执行任何操作。

setGenerated(name, generated)#
参数:
  • name – 字符串

  • generated – bool

设置名为 name 的字段生成的标志为 generated。如果字段不存在,则不执行任何操作。只有设置 generated 为真值的字段会被包含在 QSqlQueryModel 之类的类生成的 SQL 中。

参见

isGenerated()

setGenerated(i, generated)
参数:
  • i – 整数

  • generated – bool

这是一个重载函数。

设置字段 index 的生成标志为 generated

参见

isGenerated()

setNull(name)#
参数:

name – 字符串

这是一个重载函数。

将名为 name 的字段的值设置为 null。如果字段不存在,则不执行任何操作。

setNull(i)
参数:

i – 整数

index 位置的字段的值设置为 null。如果字段不存在,则不执行任何操作。

setValue(name, val)#
参数:
  • name – 字符串

  • val – 对象

这是一个重载函数。

将名为 name 的字段的值设置为 val。如果字段不存在,则不执行任何操作。

setValue(i, val)
参数:
  • i – 整数

  • val – 对象

index 位置的字段的值设置为 val。如果字段不存在,则不执行任何操作。

swap(other)#
参数:

otherQSqlRecord

将 SQL 记录 other 与当前 SQL 记录交换。此操作非常快速且从不失败。

value(name)#
参数:

name – 字符串

返回类型:

对象

这是一个重载函数。

返回记录中名为 name 的字段的值。如果字段 name 不存在,则返回无效变量。

参见

indexOf()

value(i)
参数:

i – 整数

返回类型:

对象

返回记录中位于位置 index 的字段的值。如果 index 超出范围,将返回一个无效的 QVariant。