数据定型是定义一个定型记录集的过程,定性记录集我们可以认为是一个层次记录集,层次记录集分为三种:
关系层次,参数化层次,分组层次。
我认为这种技术的最大优点是:没有数据冗余,界面显示清晰简单,对于多层数据操作更便利
要向应用这个技术,需要将数据驱动连接字符串中的Provider设置为:MSDataShape
具体应用需要Shape命令:并有两种不同的shape语句:
一、shape{sql1} append({sql2} as ?? relate a to b)
他的工作方式就是:首先查询sql1,然后再根据 relate a to b指定的条件查询sql2,然后在sql1检索结果的后面分别添加一个字段,分别用于保存相应的sql2查询结果的记录集,也就是说sql1查询结果为父记录集,sql2查询结果为子记录集。
这种方式还分为两种:关系层次和参数化层次
关系层次例子:Shape{select a,b from t1} append({select m,n from t2} relate a=m)
参数化层次的例子:shape{select a,b from t1} append({select m,n from t2 where m=?} relate a to Parameter 0)
可见,在参数化层次中,有一个where m=? 和一个parameter 0
这个的功能起始和上一个关系层次一样,只是工作原理不同而已,这种情况下,数据不是一次栽入,只检索父记录集上的数据,子记录集只有在你显示的打开基于章节字段的一个记录集时,才检索。
例子:
<%
Set Db = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
mmm="driver={SQL Server};server=192.1.1.21;uid=sa;pwd=myself;database=gwjp2"
db.Provider="MSDataShape"
db.Open mmm
rs.Open "shape{select name,id from tgw} append({select name,gwid from tren} as liu relate id to gwid) AS liu",db,3,1
Response.Write rs.RecordCount
Response.Write "<hr>"
do while not rs.EOF
Response.Write "岗位名:" & rs(0)
set qq=rs("liu").value
Response.write "<br> 记录数 " & qq.recordcount & ":<br>"
do while not qq.eof
for i=0 to qq.fields.count-1
Response.Write qq(i) & " | "
next
Response.Write "<br>"
qq.movenext
loop
Response.Write "<br>"
Response.Write "<hr>"
rs.MoveNext
loop
%>
执行结果为:
42
--------------------------------------------------------------------------------
岗位名:网络系统管理B
记录数 0:
--------------------------------------------------------------------------------
岗位名:应用软件开发J
记录数 2:
王林松 | 9 |
杨龙 | 9 |
--------------------------------------------------------------------------------
岗位名:股市分析
记录数 0:
--------------------------------------------------------------------------------
岗位名:复印工
记录数 4:
吴荣萍 | 68 |
李丽杰 | 68 |
刘秀芝 | 68 |
吕海辉 | 68 |
--------------------------------------------------------------------------------
岗位名:巡守员B
记录数 1:
李飞 | 69 |
--------------------------------------------------------------------------------
岗位名:售后服务站主任H
记录数 1:
关宇明 | 111 |
--------------------------------------------------------------------------------
岗位名:现场技术诊断D
记录数 1:
李新珠 | 121 |
--------------------------------------------------------------------------------
岗位名:现场技术诊断G
记录数 3:
张洪渊 | 123 |
郑东 | 123 |
宫平 | 123 |
--------------------------------------------------------------------------------
岗位名:执法监察B
记录数 0:
--------------------------------------------------------------------------------
岗位名:清扫
记录数 3:
张秀英 | 152 |
孙艳梅 | 152 |
张敬华 | 152 |
--------------------------------------------------------------------------------
岗位名:质量体系
记录数 1:
刘艳宇 | 160 |
--------------------------------------------------------------------------------
岗位名:外协件检验B
记录数 2:
何国伟 | 206 |
马自立 | 206 |
--------------------------------------------------------------------------------
岗位名:机电配件检验C
记录数 2:
龚建国 | 207 |
王春霞 | 207 |
--------------------------------------------------------------------------------
岗位名:调研秘书D
记录数 1:
石继民 | 216 |
--------------------------------------------------------------------------------
岗位名:政策研究B
记录数 0:
--------------------------------------------------------------------------------
岗位名:打字复印C
记录数 1:
刘毓禄 | 280 |
--------------------------------------------------------------------------------
岗位名:库房管理
记录数 4:
姜丽 | 485 |
耿莉梅 | 485 |
徐丽 | 485 |
许兰凤 | 485 |
--------------------------------------------------------------------------------
岗位名:财务分析
记录数 0:
--------------------------------------------------------------------------------
岗位名:绿化技术管理A
记录数 1:
任家蔚 | 560 |
--------------------------------------------------------------------------------
岗位名:绿化技术管理B
记录数 3:
曹丰明 | 592 |
刘万春 | 592 |
王安 | 592 |
--------------------------------------------------------------------------------
岗位名:总值班调度D
记录数 3:
刘福利 | 627 |
周志敏 | 627 |
张同顺 | 627 |
--------------------------------------------------------------------------------
岗位名:生产调度L
记录数 2:
匡丽萍 | 628 |
吴明贵 | 628 |
--------------------------------------------------------------------------------
岗位名:环境检测化验A
记录数 1:
侯志伟 | 651 |
--------------------------------------------------------------------------------
岗位名:环境检测化验B
记录数 2:
韩西春 | 652 |
韩玉梅 | 652 |
--------------------------------------------------------------------------------
岗位名:资产管理A
记录数 2:
阎志硕 | 665 |
王薇 | 665 |
--------------------------------------------------------------------------------
岗位名:能源外购与外联
记录数 1:
马大伟 | 667 |
--------------------------------------------------------------------------------
岗位名:能源监察与仲裁
记录数 5:
綦学义 | 682 |
孙庆云 | 682 |
刘卫兵 | 682 |
张启恩 | 682 |
王英丽 | 682 |
--------------------------------------------------------------------------------
岗位名:东门警卫F-I
记录数 7:
徐兆军 | 747 |
时勇 | 747 |
王宏伟 | 747 |
白文 | 747 |
武勇 | 747 |
高德富 | 747 |
杨泉 | 747 |
--------------------------------------------------------------------------------
岗位名:南门警卫G-I
记录数 5:
王志辉 | 749 |
张庆 | 749 |
董伟 | 749 |
黄继东 | 749 |
竹学锋 | 749 |
--------------------------------------------------------------------------------
岗位名:物资门警卫I
记录数 1:
万鹏剑 | 751 |
--------------------------------------------------------------------------------
岗位名:西门警卫H,I
记录数 2:
张贵平 | 753 |
贺文利 | 753 |
--------------------------------------------------------------------------------
岗位名:地变看车点警卫B
记录数 1:
季岩 | 757 |
--------------------------------------------------------------------------------
岗位名:南外门警卫
记录数 3:
沈国志 | 759 |
王晶辉 | 759 |
韩立 | 759 |
--------------------------------------------------------------------------------
岗位名:专用线门警卫B-D
记录数 7:
高斌 | 761 |
杨国桥 | 761 |
韩文生 | 761 |
苗文泉 | 761 |
高明 | 761 |
赵锐 | 761 |
徐本春 | 761 |
--------------------------------------------------------------------------------
岗位名:后勤服务B
记录数 3:
王秀波 | 763 |
徐悦 | 763 |
姜莉 | 763 |
--------------------------------------------------------------------------------
岗位名:经营预算计划
记录数 0:
-------------------------------------------------