开发者网络 动网主机 支持论坛 邮局 帮助
当前位置:网络学院ASP技术数据库相关 → Data Shaping技术--数据构形所需的提供者
Data Shaping技术--数据构形所需的提供者
日期:2001年6月11日 作者:chenyangasp 人气:     [ ]
数据构形一般需要两个提供者。服务提供者 OLE DB 的数据构形服务提供数据构形功能,而数据提供者,例如 SQL Server 的 OLE DB 提供者,则提供充填成形 Recordset 的数据行。

服务提供者的名称可以指定为 Connection 对象 Provider 属性的值,或连接字符串关键字“Provider=”。

数据提供者的名称可以指定为“Data Provider”动态属性的值,该动态属性由 Data Shaping Service for OLE DB 添加到 Connection 对象 Properties 集合。或者也可以指定为连接字符串关键字“Data Provider=”。

如果没有充填 Recordset(例如,如果成形 Recordset 的所有列均使用 NEW 关键字创建),则不需要数据提供者。在这种情况下指定“Data Provider=none”。

范例

Dim cnn As New ADODB.Connection
cnn.Provider = "MSDataShape"
cnn.Open "Data Provider=MSDASQL;DSN=vfox;uid=sa;pwd=vfox;database=pubs”
常规 Shape 命令


“数据构形”定义了成形 Recordset 的列、由列代表的条目之间的关系以及数据充填到 Recordset 的方式。

成形的 Recordset 可以由如下类型的列组成:

列类型 说明
数据 由对数据提供者、表或以前成形 Recordset 使用查询命令所返回的 Recordset 的字段。
子集 对另一个 Recordset 的引用,称为“子集”。子集列使定义“父-子”关系成为可能,在这种关系中“父”是包含子集列的 Recordset,“子”是由子集代表的 Recordset。
合计 列的值通过对所有行执行“合计函数”获得,或者是子 Recordset 的所有行的列。(请参阅下表中的合计函数。)
计算表达式 列的值通过对在 Recordset 的相同行中的列进行 Visual Basic for Applications 表达式的计算而获得。表达式是 CALC 函数的参数。(请参阅下表中的计算表达式。)
新建 空的、虚构的字段,可在随后充填数据。列使用 NEW 关键字定义。(请参阅下表中的 NEW 关键字。)


Shape 命令可以包含子句,指定针对基本数据提供者并将返回 Recordset 对象的查询命令。查询的语法取决于对基本数据提供者的要求。虽然 ADO 并不要求使用任何指定的查询语言,但通常是使用结构化查询语言 (SQL)。

您可以使用 SQL JOIN 子句关联两个表,但是,分级 Recordset 可以更有效地表达信息。由 JOIN 创建的 Recordset 的每行会多余地重复一个表中的信息。分级 Recordset 的多个子 Recordset 对象中,每个对象仅有一个父 Recordset。

Shape 命令可以仅由 Recordset 对象发出。

Shape 命令可以嵌套,即父命令或子命令本身可以是另一个 Shape 命令。

有关定位分级 Recordset 的详细信息,请参阅访问分级 Recordset 中的行。

有关语法正确的 Shape 命令的详细信息,请参阅形状语法格式。

合计函数、CALC 函数和 NEW 关键字

数据构形支持如下函数。chapter-alias 是指定给包含了将被操作列的子集名称。

chapter-alias(子集-别名)可以是完整的,由指向包含 column-name 的子集的每个子集列名称组成,全部用句号分隔。例如,如果父子集 chap1 包含拥有数量列 amt 的子子集,则完整名即是 chap1.chap2.amt。

合计函数 说明
SUM(chapter-alias.column-name) 计算指定列中所有值的和。
AVG(chapter-alias.column-name) 计算指定列中所有值的平均值。
MAX(chapter-alias.column-name) 计算指定列中的最大值。
MIN(chapter-alias.column-name) 计算指定列中的最小值。
COUNT(chapter-alias[.column-name]) 计算指定别名或列中行的数量。
STDEV(chapter-alias.column-name) 计算指定列中的标准偏差。
ANY(chapter-alias.column-name) 列的值(列的值在所有行均相同)。

计算表达式 说明
CALC(expression) 计算任意表达式,但仅针对包含 CALC 函数的 Recordset 行。可以是任何 Visual Basic for Applications (VBA) 函数或表达式。

NEW 关键字 说明
NEW (field type [(width | scale ][,precision])] 将指定类型的空列添加到 Recordset。

(出处:Chinaasp论坛)

相关文章:
 
·动态的管理ASP.NET DataGrid数据列
·将DataGrid中数据倒出Excel文件并下载
·规格化DataGrid显示
·ado.net数据操作全接触四(表关联,DataAdapter)
·ado.net数据操作全接触三(存储过程,datasets)
·一个实现自动求和/合并单元格/排序的DataGrid
·如何在DataGrid控件中实现编辑、删除、分类以及分页操作
·XML、DataSet、DataGrid结合写成广告管理程序(下)
·XML、DataSet、DataGrid结合写成广告管理程序(上)
·如何搞定DataGrid 分栏的大小
相关软件:
 
·DATALL树形论坛 v3.0
说明:本站部分内容收集于网络,如有侵犯您的权益请来信告知,我们会第一时间进行处理,谢谢
 → 特别推荐
 → 热点TOP10

关于本站 | 诚聘英才 | 业务合作 | 联系我们 | 广告合作 | 收藏本站

海口动网先锋网络科技有限公司版权所有
Copyright ? 2000 - 2003 AspSky.Net
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077