您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > asp与sql网页数据库程序设计-14
14范例系统的设计与应用(一)14-1结构说明14-2动态菜单的设计14-3Cookies的处理14-4动态产品展示14-5新上市产品14-6索取详细信息ASP与SQL网站数据库程序设计414在前面的章节中,笔者介绍了各种SQLServer的应用、ASP程序设计的语法、ADO对象以及其他相关对象的使用等。在下面的实务设计中,笔者将采用另外一种方式来介绍ASP程序与SQLServer的应用,也就是说,在本章中将采用范例说明的方式讲解;同时,介绍如何将范例系统快速应用在用户的工作环境中。14-1结构说明这个范例系统可以分为两大部分:前台菜单系统。后台数据管理系统。虽然区分为两种不同性质的系统,但本质上仍离不开HTML标记、ASP程序语法、SQLQuery、ASP程序应用的各种对象等。由于程序说明、画面展示非常多,因此在本章中仅仅介绍与“前台菜单系统”相关的子系统。以下是组成“前台菜单系统”所使用的程序名称、功能以及所使用的程序语言、技术摘要说明。前台菜单系统前台菜单系统的组成,如下图所示:“Function.asp”:负责产生动态菜单内容。其中所包含的程序语言有:HTML标记,CSS,JavaScript,ASP,SQLQuery以及ADO对象等。打开的表有:“产品类别”以及“产品基本信息”。“ProDuctShow.asp”:负责产品的展示、切换以及Cookies的读写等。所使用的程序语言有:HTML标记,CSS,JavaScript,ASP,SQLQuery以及ADO对象等。打开的表有:“系统信息”、“产品基本信息”、“产品类别”以及“币别信息”等。“MoreInfo.asp”:负责收集客户选择的信息,并且将相关的选择信息以E-Mail的方式发送到管理员的信箱中。所使用的程序语言有:HTML标记、CSS,JavaScript,ASP,SQLQuery,ADO对象以及CDO对象等。打开的表有:“基本信息”、“系统信息”、“产品基本信息”等。第14章范例系统的设计与应用(一)415图14-1前台菜单服务的主要画面“PdRequest.inc”:这是一个外部引用文件,在这个文件内处理的信息为“Cookies”相关的信息;用以建立、设置、更新用户的选择信息。虽然在“前台菜单系统”中,有这么多的子系统,但它们基本上都可以独立运行;同时,各子系统之间并没有绝对的关联性存在。因此,如果用户觉得某一子系统非常符合自己的需求时,也可以独立地将该子系统分离,加到用户的系统中。14-2动态菜单的设计这是一个结合各种网页设计语言、数据库程序设计、CSS等技术的子系统。以下是这个子系统的画面:在上图中,除了“Login.asp”与“Address.asp”两个程序外,其他都属于“Function.asp”程序的控制范围。在“Function.asp”程序的控制范围中,除了“关于我们”、“新上市产品”以及“索取详细信息”之外,都属于动态菜单。所谓“动态菜单”,并不是选择之后会自动移动、自动伸展。实际上,“动态菜单”的内容会因为产品类别的增减、上架产品的增减而自动变化。ASP与SQL网站数据库程序设计416图14-2动态菜单子系统例如:新增一项名为“PocketPC汽车充电器”产品之后,动态菜单上会立即自动增加一个选项。例如:删除“鼠标垫”,在网页重新更新内容之后,这项分类就会自动消失。这些范例执行的结果将如图14-3所示。图14-3自动变化的菜单内容这些自动产生的改变,对于操作人员而言,是完全不需要更改程序,或重新编辑HTML文件的内容。以下是“Function.asp”程序段以及设置说明。14-2-1设置CSS属性本段程序代码的主要作用在于设置网页上文字表现的方式。例如设置“颜色”、“字体大小”及“字形”等属性。有关CSS的设置部分,请读者第14章范例系统的设计与应用(一)417参考与CSS相关的书籍,在后续章节中,笔者将不再详细叙述。“Function.asp”程序段10:styleTYPE=text/css11:!--12:.SystemAdmin{font-size=10pt;color:#0000ff}13:.ChiDingtitle{font-size:16pt;color:#44FF00}14:.ChiDing01{font-size:9pt;color:#00000;font-family:ArialBold;}15:.ChiDing02{font-size:9pt;color:#0066CC;}16:a:active{color:BlueViolet;text-decoration:none}17:a:link{color:DarkSlateGray;text-decoration:none}18:a:visited{color:DarkSlateGray;text-decoration:none}19:a:hover{color:#0088DD;text-decoration:none}20:--/style程序说明本段程序主要设置各种类型的文字输出状态。例如:在HTML标记中指定Class=“Chiding01”时,此段文字所使用的字体即为“大小(font-size)9点(pt)”、“颜色(color)为黑色(RGB色表:#000000即为黑色)”、“字形(font-family)为ArialBold”。其他如:“a:link”则表示设置超链接属性的HTML标记,在浏览器上显示时光标、文字等的输出方式。详细资料请读者自行参考与CSS有关的书籍。14-2-2固定的选项设计下面三段程序是属于固定内容的,主要用途在于提供固定不变的功能选项。例如“索取详细信息”,这个选项所有的功能都是由“MoreInfo.asp”程序提供;同时,这个选项也不会有其他功能。因此,采用固定的超链接方式,打开指定的ASP程序。“Function.asp”程序段27:divid=cItem28:tableclass=ChiDing01border=0cellpadding=1cellspac-ing=1width='100%'ASP与SQL网站数据库程序设计41829:tr30:tdwidth=20 /td31:tdastyle=cursor:Handalign=absbottomtarget=mainframefontcolor=#000000关于我们/font/a/td32:/tr33:/table35:divid=cItem436:tableclass=ChiDing01border=0cellpadding=1cellspac-ing=1width='100%'37:tr38:tdwidth=20 /td39:tdahref=/NewArrival.aspstyle=cursor:Handalign=absbottomtarget=mainframefontcolor=#000000新上市产品/font/a/td40:/tr41:/table以及79:divid=cItem380:tableclass=ChiDing01border=0cellpadding=1cellspac-ing=1width='100%'81:tr82:tdwidth=20 /td83:tdahref=MoreInfo.aspstyle=cursor:Handalign=absbottomtarget=mainframefontcolor=#000000索取详细信息/font/a/td84:/tr85:/table程序说明第31行:提供客户端选择“关于我们”的选项。这个选项目前并未提供超级链接的功能,用户可以自行添加必要的链接。第14章范例系统的设计与应用(一)419第39行:指定当用户选择时,执行的ASP程序为“NewArrival.asp”。第83行:指定当用户选择时,执行的ASP程序为“MoreInfo.asp”。14-2-3动态选项的设计“Function.asp”程序的核心与重点。在执行这个程序段后,将会根据表的实际内容,动态产生不同的选项。“Function.asp”程序段43:%44:OnErrorResumeNext45:SQL=Select*From产品类别orderby类别编号46:SetRs=OBJConn.Execute(SQL)47:datas=rs.getrows(500)48:%49:%fori=0toubound(datas,2)%50:51:tableclass=ChiDing01border=0cellpadding=1cellspac-ing=1width='100%'52:tr53:tdwidth=7 /td54:tdwidth='10'imgsrc=Images/FolderClosed.gifid=Out%=I+1%style=cursor:Handclass=cItemalign=absbott-omwidth=9height=9/td55:tdahref=#%=datas(1,i)%id=Out%=I+1%style=cursor:Handclass=cItemalign=absbottom%=datas(1,i)%/a/td56:/tr57:/table58:divid=Out%=I+1%astyle=display:None59:%60:SQL=Select*From产品基本信息Where类别编号=&datas(0,i)&orderby产品代号ASP与SQL网站数据库程序设计42061:SetRs=OBJConn.Execute(SQL)62:ifnotrs.eofthen63:datas1=rs.getrows(500)64:%65:tableclass=ChiDing02cellspacing=3border=0width='100%'66:%forJ=0toubound(datas1,2)%67:tr68:tdwidth=24 /td69:tdahref=/ProductShow.asp?ClassifyNo=%=Datas(0,i)%#%=datas1(0,j)%target=mainframe%=datas1(1,j)%/a/td70:/tr71:%next%72:73:/table74:%endif%75:/div76:%77:next78:%程序说明第44~47行:从“产品类别”表中取出所有记录的内容。在第47行上,笔者使用的是ADO对象的“getrows”方法,并且限定最大的类别数量为“501”条记录。“getrows”方法可以将SQLQuery查询结果的Recordset集合直接转换成相对应的数组,供ASP程序使用,而数组内容的排列方式则与Recordset完全相同。例如:上述的SQLQuery为“Select*From产品类别”,则使用“getrows”方法之后的数组内容与原表完全相同。所产生的变量为Datas,其信息排列方式为Datas(字段,记录条数)。例如Datas(0,0)的内容即为第一条记录的第一个字段内容(即为类别编号)。第14章范例系统的设计与应用(一)421第49行:使用ubound函数,这个函数可以取出Datas数组变量中最大的行数(记录条数)。第49~78行:根据“For…Next”语句的变化,同时根据Datas数组变量的数值自动分类;并且根据所取得的“类别编号”,自“产品基本信息”中,取出符合“类别编号”的产品名称。运作方式:根据“For…Next”语句的变量i的数值,自动在Datas数组变量中逐
本文标题:asp与sql网页数据库程序设计-14
链接地址:https://www.777doc.com/doc-4989919 .html