Qt 之 QSqlRecord Class

来源:互联网 发布:mac照片导入iphone 编辑:程序博客网 时间:2024/05/23 15:43

详细描述

QSqlRecord 类封装了一条数据库记录。

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

可以通过setValue()的名称或者位置来设置记录字段的值;如果你想要设置一个字段为空可以使用setNull()。通过名称使用indexOf() 找到字段的位置。在特定位置使用fieldName()查找字段的名称。使用field() 检索给定字段的QSqlField对象。使用contains() 查找记录是否包含特定的字段名。

当在数据库中执行生成的查询时,只有那些isGenerated()为true的字段被包含在生成的SQL中。

记录可以使用append()或者insert()添加字段,使用replace()将制定位置上的字段替换为另一个字段,使用remove()移除字段。使用clear()移除所有的字段。字段的数量是由count()提供;它们的所有值都可以使用clearValues()清除(到null)。


相关API

QSqlRecord::QSqlRecord()
构造一个空的记录。

QSqlRecord::QSqlRecord(const QSqlRecord &other)
构造other的一个副本。
QSqlRecord是隐式共享的。这意味着你可以在固定时间内拷贝(复制)记录。

QSqlRecord::~QSqlRecord()
销毁对象并释放已分配的任何资源。

void QSqlRecord::append(const QSqlField &field)
将字段field的副本附加到记录的末尾。

void QSqlRecord::clear()
删除所有记录的字段。

void QSqlRecord::clearValues()
清除记录中所有字段的值并将每个字段设置为null。

bool QSqlRecord::contains(const QString &name) const
如果在记录中有一个名为name的字段返回true;否则返回false。

int QSqlRecord::count() const
返回记录中字段的数目。

QSqlField QSqlRecord::field(int index) const
返回在index位置的字段。如果index超出范围,函数将返回一个默认构造的值。

QSqlField QSqlRecord::field(const QString & name) const
这是一个重载函数。
返回名为name的字段。

QString QSqlRecord::fieldName(int index) const
返回在位置index的字段名。如果该字段不存在,返回一个空字符串。

int QSqlRecord::indexOf(const QString & name) const
在记录中返回名为name的字段的位置,如果无法找到则返回-1.字段名不区分大小写。如果超过一个字段匹配,返回第一个。

void QSqlRecord::insert(int pos, const QSqlField & field)
在记录中的pos位置插入字段field。

bool QSqlRecord::isEmpty() const
如果在记录中没有字段则返回true;否则返回false。

bool QSqlRecord::isGenerated(const QString & name) const
如果记录中有一个名叫name的字段,这个字段将被生成(默认)则返回true;否则,返回false。

bool QSqlRecord::isGenerated(int index) const
这是一个重载函数。
如果记录中在位置index有 一个字段且该字段将被生成(默认)则返回true;否则,返回false。

bool QSqlRecord::isNull(const QString & name) const
如果名叫name的字段为空或者没有叫做name的字段返回true;否则返回false。

bool QSqlRecord::isNull(int index) const
这是一个重载函数。
如果记录中位置为index的字段为空或者在位置index没有字段返回true;否则,返回false。

QSqlRecord QSqlRecord::keyValues(const QSqlRecord & keyFields) const
返回一个包含在keyFields中所代表的字段的记录,这些字段被设置为与字段名匹配的值。

void QSqlRecord::remove(int pos)
移除在pos位置的字段。如果pos超出范围,什么也不会发生。

void QSqlRecord::replace(int pos, const QSqlField & field)
用给定的字段field代替位置pos的字段。如果位置pos超出范围,什么也不会发生。

void QSqlRecord::setGenerated(const QString & name, bool generated)
设置名为name的字段的生成标志为generated。如果该字段不存在,什么也不会发生。只有那些生成状态generated被设置成true的字段才会被包含在诸如QSqlQueryModel类生成的SQL中。

void QSqlRecord::setGenerated(int index, bool generated)
这是一个重载函数。
为记录index处的字段设置生成标志为generated。

void QSqlRecord::setNull(int index)
将记录index处的字段值设置为空。如果该字段不存在,什么也不会发生。

void QSqlRecord::setNull(const QString & name)
这是一个重载函数。
设置名为name的字段的值为空。如果该字段不存在,什么也不会发生。

void QSqlRecord::setValue(int index, const QVariant & val)
设置在记录位置index的字段值为val。如果该字段不存在,什么也不会发生。

void QSqlRecord::setValue(const QString & name, const QVariant & val)
这是一个重载函数。
设置名为name的字段值为val。如果该字段不存在,什么也不会发生。

QVariant QSqlRecord::value(int index) const
返回在记录index位置的字段的值。如果索引超出范围,返回一个无效的QVariant.

QVariant QSqlRecord::value(const QString & name) const
这是一个重载函数。
返回在记录中名叫name的字段的值。如果字段name不存在返回一个无效的QVariant.

bool QSqlRecord::operator!=(const QSqlRecord & other) const
如果该记录对象与other记录对象不相等则返回true,否则返回false。

QSqlRecord & QSqlRecord::operator=(const QSqlRecord & other)
将记录other对象赋值给该对象。

bool QSqlRecord::operator==(const QSqlRecord & other) const
如果该记录对象和other记录对象相等(例如:有相同的字段相同的顺序)则返回true;否则,返回false。

原创粉丝点击