书签 分享 收藏 举报 版权申诉 / 35

类型asp与sql网页数据库程序设计14.docx

  • 文档编号:8917674
  • 上传时间:2023-02-02
  • 格式:DOCX
  • 页数:35
  • 大小:425.32KB

76:

<%

77:

next

78:

%>

程序说明

第44~47行:

从“产品类别”表中取出所有记录的内容。

在第47行上,笔者使用的是ADO对象的“getrows”方法,并且限定最大的类别数量为“501”条记录。

“getrows”方法可以将SQLQuery查询结果的Recordset集合直接转换成相对应的数组,供ASP程序使用,而数组内容的排列方式则与Recordset完全相同。

例如:

上述的SQLQuery为“Select*From产品类别”,则使用“getrows”方法之后的数组内容与原表完全相同。

所产生的变量为Datas,其信息排列方式为Datas(字段,记录条数)。

例如Datas(0,0)的内容即为第一条记录的第一个字段内容(即为类别编号)。

第49行:

使用ubound函数,这个函数可以取出Datas数组变量中最大的行数(记录条数)。

第49~78行:

根据“For…Next”语句的变化,同时根据Datas数组变量的数值自动分类;并且根据所取得的“类别编号”,自“产品基本信息”中,取出符合“类别编号”的产品名称。

运作方式:

根据“For…Next”语句的变量i的数值,自动在Datas数组变量中逐条取出“类别编号”之后,接着再向“产品基本信息”表查询相符的产品信息,并且使用ADO的“getrows”方法,将查询结果的Recordset存放在Datas1数组变量中。

第69行:

使用的是Request.QueryString方法。

根据Datas以及Datas1数组变量的内容,自动产生超级链接的内容。

例如:

Datas(0,0)取出的是“0001”时,而Datas1(0,0)取出的数据是“0001000001”时,所产生的超级链接即为“PorductShow.asp?

ClassifyNo=0001#0001000001”。

这段超级链接的意思是直接执行“ProductShow.asp”程序,并且将画面自动卷动到“ProductShow.asp”输出结果的“0001000001”超级链接上。

详细说明请参考”ProductShow.asp”程序的说明内容。

14-2-4 CSS表现方式的控制

在执行这个程序片段后,在网页上可以产生选项功能的“显示”与“隐藏”效果。

“Function.asp”程序段

93:

94:

--

95:

functionDynamicFunc()

96:

{

97:

vartID,sTAG,tTag;

98:

sTAG=window.event.srcElement;

99:

if(sTAG.className=="cItem")

100:

{

101:

tID=sTAG.id+"a";

102:

tTag=document.all(tID);

103:

if(tTag.style.display=="none")

104:

{

105:

tTag.style.display="";

106:

if(sTAG.tagName=="IMG")

107:

sTAG.src="/Images/FolderOpened.gif";

108:

}

109:

else

110:

{

111:

tTag.style.display="none";

112:

if(sTAG.tagName=="IMG")

113:

sTAG.src="/Images/FolderClosed.gif";

114:

}

115:

}

116:

}

117:

cItem.onclick=DynamicFunc;

118:

//-->

119:

程序说明

这个程序段的功能为“打开或隐藏”产品名称。

当用户在调用这段程序时,请注意以下事项:

第55行:

“id="Out<%=I+1%>"”这是一个组合的内容。

其内容将会随着数值不断增加,内容将会是“id="Out1"”~“id="OutN"”。

第101行:

根据上述所产生的“id="OutN"”自动在这个字符串的最后加上“a”,用以区别CSS的属性。

在“id”最后加上“a”的程序代码则在第58行(产品名称的显示)。

有关“JavaScript语法”、“CSS”部分,请读者自行参考相关的书籍。

至此,如果用户在重新编写“Function.asp”程序之后,所有的细节都已经注意到的话,“Function.asp”即可达成本范例的表现形式。

14-3Cookies的处理

在正式进入“ProductShow.asp”程序的运行说明之前,由于这个程序主要在于处理Cookies的信息,因此必须对“PdRequest.inc”先行说明,以下是“PdRequest.inc”的程序内容。

程序内容

01:

<%

02:

ExpDate=Cstr(dateadd("d",7,date))

03:

Response.Cookies("MoreInfo").Expires=ExpDate

04:

Cookies=Request.Cookies("MoreInfo")

05:

Ifrequest.querystring("MoreInfo")<>""then

06:

IfTrim(Cookies)<>""Then

07:

Cookies=Cookies&","&request.querystring("MoreInfo")

08:

Else

09:

Cookies=request.querystring("MoreInfo")

10:

EndIf

11:

Else

12:

IfCookies=""Then

13:

Cookies=ExpDate

14:

EndIf

15:

endif

16:

Response.cookies("MoreInfo")=Cookies

17:

Datas=Split(Cookies,",")

18:

%>

程序说明

第2行:

取得与使用日期差距“七天”的正确日期,使用的是“dateadd”函数,并且在取得“七天后”的日期后,将结果转换成字符串并存放到“ExpDate”变量中。

第3行:

设置“MoreInfo”Cookies的有效期限为上述取得的日期。

第6~15行:

如果在网页中没有“ProductShow.asp”所产生的“更多信息”的选项时,将不会对“MoreInfo”的Cookies变量进行更新动作。

如果选择这个选项,则自动判断Cookies的内容并进行更新。

MoreInfo的实际内容如图14-4所示。

图14-4设备中Cookies的实际内容

上图中的“%2C”为ASCII码的“44”,即为“,”。

第12~14行:

如果客户端没有产生详细信息的需求,同时客户端的Cook-ies内容也是“空白”时,则将Cookies的内容以Cookies“到期日”取代。

第16行:

将运算之后的内容,重新写回客户端。

14-4动态产品展示

这个系统与“Function.asp”间唯一的关联在“Function.asp”程序的第69行。

例如上述程序说明中“第69行”的部分,其传送进来的内容是“ClassifyNo=0001#0001000001”。

当ASP程序以QueryString方法接受到这种数据时,将会自动删除“#”之后的数据(包含“#”在内)。

由于这种传递方式是通知浏览器自动将画面卷动到“#”之后的超级链接名称上,因此对于ASP程序而言,本段的处理方式是“不予理会”。

“ProductShow.asp”程序的执行结果如图14-5所示。

图14-5ProductShow.asp的执行结果

14-4-1 基本功能设置

在这个程序段中,笔者设置了“包括文件的置入”、“网页的表现方式”以及“记录取得条数的设置”等基本信息。

以下是这段程序的实际内容与说明。

“ProductShow.asp”程序段

01:

--#includevirtual="/PdRequest.inc"-->

02:

03:

<%

04:

Response.Expires=0

05:

MaxRecords=500

06:

07:

'ProductShow展示产品的内容

08:

SetOBJConn=Server.CreateObject("ADODB.Connection")

09:

OBJConn.Open"Trade","test","test1"

10:

OnErrorResumeNext

程序说明

第1行:

将“PdRequest.inc”程序代码包括进来。

第4行:

设置网页的内容不暂存在客户端。

由于“Products.asp”的内容会根据用户的选择随时变化,为了避免“残留(直接从客户端上取出曾经浏览过的内容)”现象的发生,笔者建议用户使用这种方式。

第5行:

设置最大记录查询条数(试想:

单一类别具有500种不同的产品时,那么产品属性上的分类一定没有规划好!

14-4-2 相关资料的取得

在执行这个程序段之后,将可以取得如下相关信息:

∙全图预览方式。

∙特定产品类别的产品详细信息。

∙币别信息的取得。

以下是这个程序段的实际内容与说明:

“ProductShow.asp”程序段

12:

SQL="Select全图预览方式From系统信息"

13:

SetRs=OBJConn.Execute(SQL)

14:

FullViewMethod=rs.Fields("全图预览方式")

15:

16:

SQL="Select*from产品基本信息Where类别编号="&request.querystring("ClassifyNo")&"orderby产品代号"

17:

SetRs=OBJConn.Execute(SQL)

18:

datas=rs.getrows(500)

19:

SQL="Select*from产品类别where类别编号="&request.querystring("ClassifyNo")

20:

Setrs=OBJConn.Execute(SQL)

21:

ClassifyNo=rs.fields("类别编号")

22:

ClassifyName=rs.fields("类别名称")

23:

24:

SQL="Select*From币别信息Orderby币别代号"

25:

Setrs=OBJConn.Execute(SQL)

26:

ifnotrs.eofthen

27:

Currencies=rs.getrows(MaxRecords)

28:

else

29:

Currencies=-1

30:

endif

31:

%>

程序说明

第12~14行:

取得全图预览的显示方式。

在系统设计中,全图预览方式共分为“JPG图文件的显示”以及“PDF文件的显示”。

主要的区别在于打开新窗口时,所加载文件的扩展名不同而已。

第16~18行:

从“产品基本信息”表中,取出与“类别编号”相符的所有记录,并且将这些记录存放在Datas数组变量中。

第19~22行:

从“产品类别”表中取出相关的信息。

事实上,用户也可以在上一个程序中,将相关信息转发进来。

第24~30行:

从“币别信息”表中,取出所有的币别信息,并且将查询结果存放在“Currencies”数组变量中。

14-4-3 全图预览方式的设置

本段程序代码属于

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
asp sql 网页 数据库 程序设计 14
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:asp与sql网页数据库程序设计14.docx
链接地址:https://www.bdocx.com/doc/8917674.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开