ASP3.0给我们带来的新技术之一---Data Shaping技术

2016-01-29 17:53 53 1 收藏

ASP3.0给我们带来的新技术之一---Data Shaping技术,ASP3.0给我们带来的新技术之一---Data Shaping技术

【 tulaoshi.com - ASP 】

  Data shaping(又可以被称为分层记录集)
如果你对ACCESS非常熟悉的话,它就类似与其中的子表。在你使用VB
进行数据库开发的时候是你的最佳选择。
这种技术有很强大的运用场合,特别适应与OLTP等企业级运用程序的开发。
它允许你使用一种树状结构来表现你的数据,所以它特别适合与
来给用户显示有关联的数据表格形式。
简单的来说,就是它有一个母表(Recordset)然后
该母表中的某个字段中可以再容纳一个子表(Recordset)
当然一般来说,该子表中的某一个字段(例如主索引)和母表中的该字段
是关联的(relationship),这样当你执行一个查询后,结果将返回一个
多记录集.这种Data shaping技术给我们带来的好处如下:
1。性能上的提高,只要合理运用该技术,就能够大大提高
ASP连接数据库程序的性能.你也不必再为同时显示复杂的
相互关联的数据表单而发愁了。
2。编程上的大大简化:由于它引入的分层记录集结构,
使用树状视图来显示记录,你会发现你使用Data Shaping技术显示出来
的数据非常的美观。
还是以前的方法,废话少说,让代码来发言把:
本例子将使用SQL Server中带的例子数据库pubs

如何使用Data Shaping编程:
准备工作如下:
1。你应该安装有MSDataShape OLEDB Provider(在MDAC2。0版本以上均带该数据源提供者)
2。你应该会编写Shape语言,注意这不是一般的SQL语句,具体的语法你可以查看
ACCESS中的帮助文件。
几个必须注意的地方
(I)建立一个MSDataShape OLEDB Provider的ConnectionString如下(呵呵,看来我的那篇
数据库连接手册又可以加点新东东了):
'这是一个很普通的连接字符串,呵呵,其中的Kanga其实就是SQL Server在微软内部的代号
strConn = "Provider=SQLOLEDB;Data Source=Kanga;" &_
" Initial Catalog=pubs;User Id=sa;Passwprd="
'好,现在加入MSDataShape OLEDB Provider部分
strConn = "Provider=MSDataShape; Data " & strConn
好了,现在你已经设置数据的提供者为MSDataShape,
注意哦其中的数据源提供者是你真正的DSN部分。
(II)Shape语言
Shape语法你可以在ADO的帮助中可以找到详细的描述,我也不罗嗦
一般最常用的语句如下:
SHAPE {parent command} [AS parent alias]
APPEND ({child command} [AS child alias]
RELATE parent_column TO child_column) [AS parent_column_name]
一个最简单的例子如下:
SHAPE {SELECT * FROM Publishers}
APPEND ({SELECT * FROM Titles}
RELATE Pub_ID TO Pub_ID) AS rsTitles
上面的语句将Titles表作为Publishers的一个子表关联在一起,那么怎么访问它
的数据了,语法如下:
Set rsTitles = rsPublishers("rsTitles").Value
现在的rsTitles就是一个记录集,它就是子表中的数据
ASPShape.ASP文件代码如下:
<%
Dim rsPublishers
Dim rsTitles
Dim strShapeConn
Dim strShape
Dim strConn

strConn = "Provider=SQLOLEDB;Data Source=Kanga;" &_
" Initial Catalog=pubs;User Id=sa;Passwprd="

Set rsPublishers = Server.CreateObject("ADODB.RecordSet")
strShapeConn = "Provider=MSDataShape; Data " & strConn
strShape = "SHAPE {SELECT * FROM Publishers}" & _
" APPEND ({SELECT * FROM Titles}" & _
" RELATE Pub_ID TO Pub_ID) AS rsTitles"


rsPublishers.Open strShape,strShapeConn
Response.Write "<UL"
While Not rsPublishers.EOF
Response.Write "<LI" & rsPublishers("Pub_Name")
Response.Write "<UL"
'下面开始显示子表的数据
Set rsTitles = rsPublsihers("rsTitles").Value
While Not rsTitles.EOF
Response.Write "<LI" & rsTitles("title")
rsTitles.MoveNext
Wend
Response.Write "</UL"
rsPublishers.MoveNext
Wend
Response.Write "</UL"

rsPublishers.Close
Set rsPublishers = Nothing
Set rsTitles = Nothing
%
大家可以运行以上的代码然后观看它的结果,再和平常的
使用SQL查询出来的相比较一下。
附注:

来源:http://www.tulaoshi.com/n/20160129/1503436.html

延伸阅读
标签: 整形
另类整形给我们的生活带来的影响 追求时尚和潮流从来都是疯狂的年轻人的专利,近年来随着整形行业的不断壮大,整形手术改变了很多的观念。因此一些“另类整形手术”进入了人们的视野。 专家提醒,另类整形手术虽然可以为年轻人带来诸多潮流信息,但是从长远来看,这种整形危害极大,得不偿失。 23岁的桑虹是兰州...
标签: Web开发
    浏览器对于CSS的支持问题落后于CSS的发展,以占有市场绝对份额的Internet Explorer来说,直到其前不久发布的第8个版本才刚刚完成对CSS 2.1的完整支持,而CSS的最新进展是CSS 3规范的制定已经行了一大半。但是这并不妨碍我们使用CSS中的新技术。虽然我们不能像使用CSS中的通用技术那样随心所欲地应用他们,但是却可以在特定...
Adobe 新技术:实时拍摄无人风景   这项新技术是一个叫Monument Mode的拍摄功能。当使用的时候,你的相机/手机就可以自动去除游客还有其他干扰画面的东西(例如突然有汽车经过等)。我们拍摄风景时总希望可以得到没有人的画面,但偏偏现实上、特别是旅游的时候,前面总是人来人往。通常直接拍摄的结果会是这样: 一般情况,要...
标签: Web开发
作者: 刘彦青编译 Project Dynamic Faces是数个扩展JavaServer Faces技术的的项目之一。Project Dynamic Faces是一个创新型的项目,提供了向基于JavaServer Faces技术的应用软件增添Ajax功能的方法。它使我们能够让应用软件已经在使用的任何JavaServer Faces组件支持Ajax功能。我们无需对组件进行修改就能够使它们支持Ajax,我们也无...
早就听说Ajax技术了,传说中是一种很牛的东西,号称无刷新,其实是在web上通过javascript,使用异步的xmlhttp请求,实现无刷新的web界面。可惜一直没有体验过, 先后听做PHP的朋友用过PHP的Ajax开发包,而且做了很多很酷的东西,使小生羡慕不已。 今天下了一个.net Ajax开发包,该开发包包括ASP2.0和目前ASP1.1版使用的Ajax,详细地址参见http://...

经验教程

331

收藏

32
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部