Data Shaping技术--数据构形

作者:袖梨 2022-06-30
ADO 使您能够回答其答案可表示为 Recordset 的提问。例如,假设您要公司客户的列表,而您有包含名为 Customers 的表的数据库。对表发出查询命令,则 ADO 将返回 Recordset,在 Recordset 中每个行表示一个客户,并且每个行的列拥有能够包含客户的名称、地址、客户 ID 等内容的数据类型。
“数据构形”使您能够回答其答案可由成形的 Recordset 表示的提问。数据构形定义成形 Recordset 的列、由列表示条目之间的关系和数据充填到 Recordset 的方式。
成形 Recordset 的列可以包含来自数据提供者(如 SQL Server)的数据、对另一个 Recordset 的引用、对 Recordset 一个行进行计算得到的值、对整个 Recordset 的列进行操作所得到的值,或者可以是新虚构的空列。
在检索包含对另一个 Recordset 的引用的列的值时,ADO 将自动返回由引用表示的实际的 Recordset。包含另一个 Recordset 的 Recordset 称为“分级 Recordset”或“分级游标”。
例如,假定您要得到由公司每个客户发出的所有定单的列表。可对包含名为 Customers 和 Orders 的数据库表发出数据构形命令。如同上例一样,ADO 将返回客户记录 Recordset。但是,每行将同时有附加的列,该列引用包含所有该客户定单的 Recordset。
改进该形状即可获得按州排列的销售总计的列表。在 Customers 表中的地址列包含每个客户的州,而 Orders 表的数量列则包含每个定单的数量。发出不同的数据构形命令,则 ADO 将返回 Recordset,该 Recordset 包含每个州一个行(在此,每个行包含标识州的列)、该州所有定单的销售量总计和对开列该州的所有客户的 Recordset 的引用。访问该客户 Recordset 将会发现与前面的范例一样,每个客户行均含有对包含所有该客户定单的 Recordset 的引用。
Shape 命令语法使您能够通过编程创建成形的 Recordset。然后就可以通过编程或适当的可视化控件,访问 Recordset 的组件。
数据构形纵览
ADO 2.0 推出了数据构形功能、分级记录集和 Shape 命令语法。
ADO 2.1 通过插入 COMPUTE 命令推出重构形、孙子合计和参数化命令。
数据构形
数据构形使您能够定义成形 Recordset 的列、由列表示的条目之间的关系和数据充填到 Recordset 的方式。
成形 Recordset 的列可以包含数据、对另一个 Recordset 的引用、对 Recordset 一个行进行计算得到的值、对整个 Recordset 的列进行操作所得到的值,或者可以是新虚构的空列。
在检索包含对另一个 Recordset 的引用的列的值时,ADO 将自动返回由引用表示的实际的 Recordset。包含另一个 Recordset 的 Recordset 被称为“分级 Recordset”。分级 Recordsets 展示的是父-子关系,其中“父”是包含的 Recordset,而“子”是被包含的 Recordset。对 Recordset 的引用实际是对子的子集合(即“子集”)的引用。单个父可以包含多个子 Recordset。

相关文章

精彩推荐