打印本文 打印本文  关闭窗口 关闭窗口
ASP与SQL网站数据库程序设计(15)
作者:.. 文章来源:科学出版社 点击数: 更新时间:2004/1/25 1:03:54
55行:“id="Out<%=I+1%>"”这是一个组合的内容。其内容将会随着数值不断增加,内容将会是“id="Out1"”~“id="OutN"”。

101行:根据上述所产生的“id="OutN"”自动在这个字符串的最后加上“a”,用以区别CSS的属性。在“id”最后加上“a”的程序代码则在第58行(产品名称的显示)。

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

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

14-3  Cookies的处理

在正式进入“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: If request.querystring("MoreInfo") <> "" then

06:  If Trim(Cookies) <> "" Then

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

08:  Else

09:     Cookies = request.querystring("MoreInfo")

10:  End If

11: Else

12:  If Cookies = "" Then

13:     Cookies = ExpDate

14:  End If

15: end if

16: Response.cookies("MoreInfo") = Cookies

17: Datas = Split(Cookies , ",")

18: %>

程序说明

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

3行:设置“MoreInfoCookies的有效期限为上述取得的日期。

6~15行:如果在网页中没有“ProductShow.asp”所产生的“更多信息”的选项时,将不会对“MoreInfo”的Cookies变量进行更新动作。如果选择这个选项,则自动判断Cookies的内容并进行更新%2C”为ASCII码的“44”,即为“,”。

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

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

14-4  动态产品展示

这个系统与“Function.asp”间唯一的关联在“Function.asp”程序的第69行。例如上述程序说明中“第69行”的部分,其传送进来的内容是“Classify No=0001# 0001000001”。

ASP程序以QueryString方法接受到这种数据时,将会自动删除“#”之后的数据(包含“#”在内)。由于这种传递方式是通知浏览器自动将画面卷动到“#”之后的超级链接名称上,因此对于ASP程序而言,本段的处理方式是“不予理会”。“ProductShow.asp

 

14-4-1 基本功能设置

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

ProductShow.asp”程序段

01: <!-- #include virtual="/PdRequest.inc" -->

02:

03: <%

04: Response.Expires = 0

05: MaxRecords = 500

06:

07: ' ProductShow 展示产品的内容

08: Set OBJConn = Server.CreateObject("ADODB.Connection")

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

10: On Error Resume Next

程序说明

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

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

5行:设置最大记录查询条数(试想:单一类别具有500种不同的产品时,那么产品属性上的分类一定没有规划好!)

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

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

·       全图预览方式。

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

·       币别信息的取得。

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

 

 

ProductShow.asp”程序段

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

13:  Set Rs = OBJConn.Execute(SQL)

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

15:

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

17:  Set Rs = OBJConn.Execute(SQL)

18:  datas = rs.getrows(500)

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

20:  Set rs = OBJConn.Execute(SQL)

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

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

23:

24:  SQL = "Select * From 币别信息 Order by 币别代号"

25:  Set rs = OBJConn.Execute(SQL)

26:  if not rs.eof then

27:      Currencies = rs.getrows(MaxRecords)

28: 

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  下一页



打印本文 打印本文  关闭窗口 关闭窗口