ASP网页设计Data Shaping手艺--数据构形
缺乏可以共同遵循的行业标准,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来写程序就可以说自己高档了 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 我想问如何掌握学习节奏(先学什么再学什么)最好详细点? 尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 Session:这个存储跟客户端会话过程的数据,默认20分钟失效 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
页:
[1]
2