ASP网页编程之Data Shaping手艺--Shape Append 命令
因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。ShapeAPPEND命令将子Recordset分派给父Recordset中Field工具的Value属性。语法
SHAPE{parent-command}[parent-alias]
APPEND({child-command}child-alias
RELATEparent-columnTOchild-column...)[chapter-alias]...
构成申明
该命令的构成部分为:
parent-command,child-command以下之一。
在尖括号(“{}”)中的查询命令,前往Recordset工具。命令公布给基础数据供应者,其语法取决于该供应者的请求。固然ADO其实不请求利用任何指定的查询言语,但一般是利用布局化查询言语(SQL)。圆括号(“()”)是必须的关头字,它们将子集列追加到援用由查询命令前往的Recordset的父。
之前成形的Recordset的称号。
另外一个Shape命令。
TABLE关头字,后跟表的称号。
parent-column由parent-command前往的Recordset中的列。
child-column由child-command前往的Recordset中的列。
...“parent-columnTOchild-column”子句实践上是列表,并用逗号将每一个界说干系分开开。
chapter-alias别号,对追加到父的列的援用。
parent-alias别号,对父Recordset的援用。
child-alias别号,对子Recordset的援用。
...在APPEND关头字前面的子句实践上是列表(每一个子句利用逗号分开),界说被追加到父的另外一个列。
操纵
收回parent-command并前往父Recordset。然后收回child-command并前往子Recordset。
比方,parent-command能够从客户表前往公司的客户Recordset,而child-command从订货表前往一切客户的订单Recordset。
一样平常,父和子Recordset工具必需各自具有用于联系关系父和子的列。列在RELATE子句中定名,parent-column在先,child-column在后。在各自的Recordset中,列能够有分歧称号,但必需援用不异信息以便指定成心义的干系。比方,Customers和OrdersRecordsets能够同时具有customerID字段。
数据构形将子集列追加到父Recordset。子集列中的值是对子Recordset中列的援用,子Recordset满意RELATE子句。即在给定父行中的parent-column与在子集子的一切行中的child-column具有不异的值。
当您会见在子集列中的援用时,ADO将主动检索由援用暗示的Recordset。注重只管已检索了全体子Recordset,但子集(chapter)仅暗示行的子集。
假如追加的列没有chapter-alias,则会主动天生其称号。列的Field工具将被追加到Recordset工具的Fields汇合,其数据范例将是adChapter。
有关定位分级Recordset的具体信息,请参阅会见分级Recordset中的行。
参数化命令
假如您正在处置年夜的子Recordset(特别是比父Recordset年夜),却只必要会见部份子子集,那末,利用参数化命令会更无效。
non-parameterizedcommand(非参数化命令)同时检索全部父和子Recordsets,并将子集列追加到父,然后为每一个父行指定相干子子集的援用。
parameterizedcommand(参数化命令)检索全部父Recordset,但在会见子集列时仅检索子集Recordset。这类检索战略的不同能够无益的功能优点。
比方,能够指定以下:
"SHAPE{SELECT*FROMcustomer}
APPEND({SELECT*FROMordersWHEREcust_id=?}
RELATEcust_idTOPARAMETER0)"
父和子表一般具有列名cust_id。child-command有占位符(即“?”),受RELATE子句援用(即“...PARAMETER0”)。干系在于显性标识的customer表parent-column(即cust_id)和隐性标识的orders表child-column(即cust_id)之间,由占位符和“PARAMETER0”指定。
注重PARAMETER子句仅属于Shape命令语法。与ADOParameter属性和Parameters汇合均有关联。
在实行Shape命令时,产生以下情况:
实行parent-command,并前往customer表的父Recordset。
子集列被追加到父Recordset。
在会见父行的子集列时,customer.cust_id列的值将交换orders.cust_id的占位符,并实行child-command。
orders表(在此,orders.cust_id列的值与customer.cust_id列的值相婚配)的一切行被检索。
对检索到的子行(即子Recordset的chapter)的援用被安排在父Recordset以后行的子集列。
当会见另外一个行的子集列时,反复步骤3-5。
拔出ShapeCOMPUTE命令
如今将参数化Shape命令的参数化命令嵌进恣意嵌套数目的外形COMPUTE命令中是无效的。比方:
SHAPE{selectau_lname,statefromauthors}APPEND
((SHAPE
(SHAPE
{select*fromauthorswherestate=?}rs
COMPUTErs,ANY(rs.state)state,ANY(rs.au_lname)au_lname
BYau_id)rs2
COMPUTErs2,ANY(rs2.state)BYau_lname)
RELATEstateTOPARAMETER0)
ShapeCompute命令
ShapeCOMPUTE命令天生父Recordset(其列由对子Recordset的援用构成)、可选的列(其内容是对子Recordset或之前成形的Recordset实行算计函数的了局)和在可选的BY子句中开列出的任何子Recordset的列。
语法
"SHAPE{child-command}child-alias
COMPUTEchild-alias[,aggregate-command-field-list]
"
构成申明
该命令的构成是:
child-command以下之一。
在尖括号(“{}”)中的查询命令,前往Recordset工具。命令公布给基础数据供应者,其语法取决于该供应者的请求。固然ADO其实不请求利用任何指定的查询言语,但一般是利用布局化查询言语(SQL)。
之前成形的Recordset的称号。
另外一个外形(Shape)命令。
TABLE关头字,后跟表的称号。
child-alias别号,用于援用由child-command前往的Recordset。在COMPUTE子句的列的列表中必要child-alias,用于界说父和子Recordset工具的干系。
aggregate-command-field-list列表,界说在天生的父中的列,含有对子Recordset实行算计函数所发生的值。
grp-field-list在父和子Recordset工具中的列的列表,指定在子中的行怎样分组。
对在grp-field-list中的每一个列,在父和子Recordset工具中有对应的列。对父Recordset的每一个行,grp-field-list列有独一的值,而且由父行援用的子Recordset由子行(其grp-field-list列含有与父行不异的值)独自构成。
假如COMPUTE子句包括算计函数,但没有BY子句,那末,只要一个父行含有全部子Recordset的算计值。假如有BY子句,那末,有多个父行均分离含有援用和子Recordset的算计值。
操纵
child-command被公布给供应者,并前往子Recordset。
COMPUTE子句指定父Recordset的列,该Recordset能够是对子Recordset的援用、一个或多个算计、盘算表达式或新列。假如有BY子句,那末,它界说的列同时被追加到父Recordset中。BY子句指定子</p>ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。 先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
页:
[1]