仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3263|回复: 20
打印 上一主题 下一主题

[学习教程] ASP网页设计Data Shaping手艺--数据构形

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-16 00:25:34 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。数据   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。

ADO 2.0 同时推出了新的 Shape 号令语法,可以经由过程编程创立成形的 Recordset 对象。Shape 号令可以象其他任何 ADO 号令文本一样收回。

利用 Shape 号令语法,可经由过程两种路子创立分级的 Recordset 对象。其一是将子 Recordset 追加到父 Recordset,普通,父和子最少必须有一个列:在父的行中列的值与子的一切行中列的值不异。

其二则是从子 Recordset 发生父 Recordset。在援用子 Recordset 的父中,必需有子集列。创立其他父列的路子是:对子列的算计运算,运算 Recordset 行的表达式,利用 BY 关头字指定分组的列,或追加新的空列。

可将分级 Recordset 对象嵌套到所需的任何深度(即创立子 Recordset 对象的子 Recordset 对象,如斯持续)。

经由过程法式或响应的可视控件,可以会见成形的 Recordset 的 Recordset 组件。

Microsoft 供应了可以生成 Shape 号令的可视化东西(请参阅 Visual Basic 主题,“数据情况设计者”)和另外一个可以显示分级游标的可视化东西(请参阅 Visual Basic 主题,“利用 Microsoft Hierarchical Flexgrid Control”)。

重构形

由 Shape 号令的子句创立的 Recordset 可以被赋值为“别号”(普通利用 AS 关头字)。在 ADO 2.1 中,成形 Recordset 的别号可以在完整分歧的号令中援用。就是说,可以收回新的 Shape 号令来更改(即重构形)之前构形的 Recordset。为了撑持该功效,ADO 供应了新的 Recordset 对象 Name 属性。

所受限制为不成以将列追加到现有的 Recordset 中,或在任何拔出 COMPUTE 的子句中对参数化的 Recordset 或 Recordset 对象停止重构形,或对除正在被构形的 Recordset 之外的任何 Recordset 履行算计操作。

孙子算计

用 Shape 号令的子句创立的子集列可以失掉“子集-别号称号”(普通利用 AS 关头字)。可使用用以标识包括了列的子的完全称号,在子集中标识成形 Recordset 的任何列。例如,假如父子集 chap1 包括具有数目列 amt 的子子集 chap2,那末完全称号将是 chap1.chap2.amt。然后,完全称号可以用作参数在算计函数 (SUM, AVG, MAX, MIN, COUNT, STDEV, or ANY) 中利用。

利用拔出 COMPUTE 号令的参数化号令

典范的参数化外形 APPEND 号令含有经由过程查询号令创立父 Recordset 的子句,和经由过程参数化查询号令(即包括参数占位符:问号“?”的号令)创立子 Recordset 的另外一个子句。终究失掉的成形 Recordset 有两层,父在下层而子占有上层。

创立子 Recordset 的子句如今可所以恣意数目的嵌套外形 COMPUTE 号令,在最深的嵌套号令中包括了参数化查询。所失掉的成形 Recordset 有多层,父占有最下层,子占有最上层,而由外形 COMPUTE 号令生成的恣意数目 Recordsets 则占有拔出的层。

该特征典范的用法是挪用算计函数和外形 COMPUTE 号令的分组功效,创立带有有关子 Recordset 的剖析信息的拔出 Recordset 对象。总之,由于这是参数化 Shape 号令,每当父的子集列被会见时,便可检索新的子 Recordset。由于拔出层来历于子,它们也将被从头盘算

</p>  国内有些大的CRM厂商的ASP就写得不错.无论是概念还是它里面用JAVASCRIPT的能力.并不是说现在的程序员用了ASP.NET来写程序就可以说自己高档了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-22 11:14

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表