QDataSet – 导入与导出数据

QDataSet 的导入与导出数据功能终于开工了!通过它,你可以将数据保存到流或者文件中,也可以从文件或流中加载数据。 QDataSet 将数据保存到流的函数 SaveToStream ,保存到文件的函数为 SaveToFile,我们看一下它们声明: procedure SaveToStream(AStream: TS

QDataSet – 从另一个数据集中合并内容到当前数据集

QDataSet 提供了一个 Merge 函数用于将一个数据集中的数据合并到已有的数据集中。利用它,可以实现渐进式刷新数据的效果: 首先,我们可以取一部分数据显示给用户,然后在用户需要时,再取一部分数据,然后合并到前面的结果集中显示给用户,这样子就可以实现数据的增量合并。 我们来看下函数声明: function Mer

QDataSet – 使用 MarkStatus 函数来修改记录状态

QDataSet 提供了一个 MarkStatus 函数,它的作用是将指定的记录标记为特定的状态(新增、删除、未变更)。它可以在与 Provider 相连时,直接标记记录的状态,并提交结果到相应的数据库中。比如,我们将一个数据集所有的记录标记为 usInserted ,然后调用 ApplyChanges 将数据集所有的

QDataSet – 克隆和复制数据详解

QDataSet 提供了克隆( Clone ) 和 复制 (CopyFrom)  两个方法来从另一个数据集中创建一个数据集内容的拷贝。但 Clone 和 CopyFrom 方法的主要区别在于: Clone 是创建了一个对源数据集的引用,克隆实际上相当于创建了一组新的游标,来指向原来的数据集,您可以对这个克隆后的数据集进

QDataSet 在打开数据集后动态增删字段

QDataSet 根据群友的建议,加入了允许动态增删字段的功能。先看下动态添加的效果: 而动态添加字段的代码相当简单,只需要像下面一样即可(和在非活动数据集上创建字段完全一样): FDataSet.FieldDefs.Add(‘Scale’, ftFloat); 而删除字段实际上也只需要一句话: FDataSet.Fi

QDB 专题 – 跨平台的数据库直接访问组件

QDB 用于提供一套开源的跨平台数据库直接访问解决方式,计划支持 SQLite、 PostgreSQL、MSSQL、Oracle、MySQL 等常见数据库在跨平台直接访问。同时提供的 TQDataSet 会提供丰富复制、克隆、过滤、分组、导入、导出等接口的支持。目前处于开发中,欢迎各位的使用和测试。本专题用于将本网站中

通过 TQDataSet.OnCustomSort 属性来按拼音排序

TQDataSet 新提供了一个 OnCustomSort 属性,用于让用户指定自己的排序规则。如果设置了 OnCustomSort 事件的值,则 TQDataSet 会调用 OnCustomSort 事件来获取两条记录的比较结果。下面是一个在 Windows 下按拼音排序的例子: //按拼音比较两条记录的大小 pro

[PostgreSQL] – 服务器端通知

PostgreSQL 支持从服务器端向客户端主动推送通知信息,前提是客户端监听指定名称的通知。这样做的好处是客户端可以监测服务器端的数据改变,以便更新本地的数据等行为,尤其是适合字典类型的数据及时更新。 首先,客户端使用 Listen 指令来通知服务器自己要监听的通知的名称。然后一旦有人触发了这个通知(如果触发是在事务

QDB.TQDBProvider接口设计

下图是QDB中与负责与数据库连接的数据提供者对象的接口定义,UML 文件为 StartUML 的格式,如有需要,请在 QQ群 联系。   【简介】 TQDBProvider用于建立数据集和数据库之间的桥梁及辅助功能。TQDBProvider提供的接口类别主要有: 1、属性 ProviderName &#821