PySide6.QtSql.QSqlRecord

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()清除(设置为null)。

另请参阅

QSqlField record()

__init__()

构造一个空记录。

另请参阅

isEmpty() append() insert()

__init__(other)
Parameters:

其他QSqlRecord

构造other的副本。

QSqlRecord 是隐式共享的。这意味着你可以在常数时间内复制记录。

append(field)
Parameters:

字段QSqlField

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

另请参阅

insert() replace() remove()

clear()

移除记录的所有字段。

另请参阅

clearValues() isEmpty()

clearValues()

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

另请参阅

setValue()

contains(name)
Parameters:

name – str

Return type:

布尔

如果记录中有一个名为 name 的字段,则返回 true;否则返回 false

注意

在Qt 6.8之前的版本中,此函数接受的是QString,而不是QAnyStringView。

count()
Return type:

整数

返回记录中的字段数量。

另请参阅

isEmpty()

field(name)
Parameters:

name – str

Return type:

QSqlField

这是一个重载函数。

返回名为 name 的字段。如果找不到名为 name 的字段,函数将返回一个默认构造的值。

注意

在Qt 6.8之前的版本中,此函数接受的是QString,而不是QAnyStringView。

field(i)
Parameters:

i – 整数

Return type:

QSqlField

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

fieldName(i)
Parameters:

i – 整数

Return type:

字符串

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

另请参阅

indexOf()

indexOf(name)
Parameters:

name – str

Return type:

整数

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

注意

在Qt 6.8之前的版本中,此函数接受的是QString,而不是QAnyStringView。

另请参阅

fieldName()

insert(pos, field)
Parameters:

在记录中的位置 pos 插入字段 field

另请参阅

append() replace() remove()

isEmpty()
Return type:

布尔

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

另请参阅

append() insert() clear()

isGenerated(name)
Parameters:

name – str

Return type:

布尔

这是一个重载函数。

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

注意

在Qt 6.8之前的版本中,此函数接受的是QString,而不是QAnyStringView。

另请参阅

setGenerated()

isGenerated(i)
Parameters:

i – 整数

Return type:

布尔

如果记录在位置 index 有一个字段并且该字段将被生成(默认情况下),则返回 true;否则返回 false

另请参阅

setGenerated()

isNull(name)
Parameters:

name – str

Return type:

布尔

这是一个重载函数。

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

注意

在Qt 6.8之前的版本中,此函数接受的是QString,而不是QAnyStringView。

另请参阅

setNull()

isNull(i)
Parameters:

i – 整数

Return type:

布尔

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

另请参阅

setNull()

keyValues(keyFields)
Parameters:

keyFieldsQSqlRecord

Return type:

QSqlRecord

返回一个记录,该记录包含keyFields中表示的字段,这些字段的值通过字段名称匹配。

__ne__(other)
Parameters:

其他QSqlRecord

Return type:

布尔

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

另请参阅

operator==()

__eq__(other)
Parameters:

其他QSqlRecord

Return type:

布尔

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

另请参阅

operator!=()

remove(pos)
Parameters:

pos – 整数

移除位置 pos 处的字段。如果 pos 超出范围,则不会发生任何操作。

另请参阅

append() insert() replace()

replace(pos, field)
Parameters:

用给定的field替换位置pos处的字段。如果pos超出范围,则不会发生任何变化。

另请参阅

append() insert() remove()

setGenerated(name, generated)
Parameters:
  • name – str

  • generated – 布尔值

将名为name的字段的生成标志设置为generated。如果该字段不存在,则不会发生任何操作。只有将generated设置为true的字段才会包含在由QSqlQueryModel生成的SQL中,例如。

注意

在Qt 6.8之前的版本中,此函数接受的是QString,而不是QAnyStringView。

另请参阅

isGenerated()

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

  • generated – bool

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

另请参阅

isGenerated()

setNull(name)
Parameters:

name – str

这是一个重载函数。

将名为name的字段的值设置为null。如果该字段不存在,则不会发生任何操作。

注意

在Qt 6.8之前的版本中,此函数接受的是QString,而不是QAnyStringView。

setNull(i)
Parameters:

i – 整数

将字段index的值设置为null。如果字段不存在,则不会发生任何操作。

另请参阅

isNull() setValue()

setValue(name, val)
Parameters:
  • name – str

  • val – 对象

这是一个重载函数。

将名为name的字段的值设置为val。如果该字段不存在,则不会发生任何操作。

注意

在Qt 6.8之前的版本中,此函数接受的是QString,而不是QAnyStringView。

另请参阅

setNull()

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

  • val – 对象

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

另请参阅

value() setNull()

swap(other)
Parameters:

其他QSqlRecord

将此SQL记录与other交换。此操作非常快速且永远不会失败。

value(name)
Parameters:

name – str

Return type:

对象

这是一个重载函数。

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

注意

在Qt 6.8之前的版本中,此函数接受的是QString,而不是QAnyStringView。

另请参阅

indexOf() isNull()

value(i)
Parameters:

i – 整数

Return type:

对象

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