天府星空网络科技成都网站制作公司,专业从事成都网站建设成都网页制作、成都网站设计以精深技术为核心、以专业队伍为支撑。致力于为成都政府网站建设成都公司网站建设成都学校网站建设等提供高技术含量的成都网站设计服务。凭借多年的成都网页设计成功经验,公司已拥有数百例经典网站案例,是一家正规经营,诚实守信的专业成都网站建设公司

用ASP技术进行动态WAP网站开发实例

作者:佚名  来源:本站整理  发布时间:2008-1-14 14:55:32
这一部分是本文的焦点。从数据库中读出需要的数据显示出来,作为一个asp程序员,这个没有什么特别的,但是就是这个简单的程序现在被用于一种全新的服务器就显得不一样了。这也使得我更加认为在基于WML的商业站的网络编程asp更胜于Java servlet. 

以下是引用片段:
< small > < anchor title=\"next!\" >Next

< go href=\"step2.asp\" method=\"get\" >

< postfield name=\"movie\" value=\"$(movie)\" / >

< /go >

< /anchor >

< /small >

< /p >



  表单的提交也可以通过软开关函数(do 和 anchor)来完成。在这里,我是通过简单的内嵌链接来完成的,因为我觉得这样能够使用户感觉直观和友好。Postfields大至和HTML中的hidden差不多,但是wml的变量不像html中的那样需要在javascript中传送,它可以直接写在wml中,这一点上一节已经讲解了.在这里的传递的方法是get,post方法在WAP的规范也是被支持的,仿真器也能识别它,但是很不幸,在Nokia 7110中,这个post不被支持,所以你没得选择.

 


  选择电影院和上映时间

  这部分代码让用户来选择看什么时间的电影,所有的记录根据前一页所选的电影来决定。在这里来选择电影院和上映时间.

以下是引用片段:
  movie_id = Request(\"movie\")
  sqlQuery = \"SELECT title FROM movie WHERE Movie_id = \" & movie_id
  set rsMovie = conn.Execute(sqlQuery)
  movie_title = rsMovie(\"title\")
  :
  sqlQuery = \"SELECT [name], [time], [show_id] FROM Show, Theater \" &_
  \"WHERE show.movie_id = \" & movie_id &_
  \" AND theater.theater_id = show.theater_id\"
  set rsShows = conn.Execute(SQLquery)

  如果你仔细研究了这个代码,你就会想用Session来保存电影信息,再在这页进行查询更简单。同样很不幸,Session是需要cookies的支持,虽说在WAP规范中也是被支持的,但是在Nokia 7110中也是不被支持,这就是说现在我们还不能把session用在WAP服务中。

  下面有一些有趣的事情:

以下是引用片段:
  < select name='show' >
  < %
  Do while not rsShows.eof
  response.write(\"< option value='\" & rsShows(\"show_id\") & \"' >\" & Left(rsShows(\"name\"),cutter) & \" (\" & rsShows(\"time\") & \")\" & \"< /option >\" &vbcrlf)
  rsShows.MoveNext
  loop % >
  < /select >

  如果你对cutter变量感到疑惑,那么就有一些事让你哭笑不得

以下是引用片段:
  Dim cutter
  if InStr(Request.ServerVariables(\"HTTP_USER_AGENT\"), \"Nokia7110\") then
  cutter = 12
  else
  cutter = 7
  end if

  这段代码根据不同的设备来显示选项。我们有充足的理由的这样做,Nokia Toolit 1.2仿真器喜欢把砍掉我的的选项到只有几个字符,而我们要显示电影名字和上映时间,所以我们就不得不减少电影名字的字符。在真的手机中不会出现这种问题,所以我们就必须先判断设备的类型.

  一旦我有机会(飞刀我很穷,没有钱,这是仅仅是遥远的梦想.......)在真的Nokia 7110上测试我的代码,我们会立即感到我们有比我们想像更大的屏幕。实际上,有些电影院的名字很古怪,而且这些长名字会占用很大屏幕空间,我们没有必要浪费这些显示空间,尽量把这些名字简化。

  下一步就是让用户选择需要的票数.这部分的代码很像其它的部分。我将从数据库中查询相同的数据,因为Session不能在真正的WAP手机中使用,所以我必须对有些内容进行确认,看看是否还有座位出售.

以下是引用片段:
  SQLquery = \"SELECT * FROM show WHERE Show_id = \" & show_id
  set rsShow = conn.Execute(SQLquery)
  :
  seats = rsShow(\"free_seats\")
  :
  if seats = 0 then
  Response.write(\"Sorry, no more seats\")
  rsShow.close
  set rsShow = nothing
  Response.write(\"< /p >< /card >< /wml >\")
  Response.end
  else
  if seats > 6 then 'book up to 6 tickets or max available
  max_seats=6
  else
  max_seats = seats
  end if
  end if
  % >
  < %=movie_title% > at < % =theater_name% >
  < select name='ticket' >
  < %
  dim i
  i = 1
  Do while i < = max_seats
  response.write(\"< option value='\" & i & \"' >\" & i & \" ticket(s)\" & \"< /option >\" &vbcrlf)
  i = i + 1
  loop % >
  < /select >

  储存票数

  现在我们已经有了所有需要的数据了,我们得把它们保存起来:

以下是引用片段:
  tickets = Request(\"ticket\")
  :
  free_seats = rsShow(\"free_seats\")
  :
  free_seats = free_seats - tickets
  :
  SQLUpdate = \"UPDATE Show \" &_
  \"SET Show.free_seats=\" & free_seats & \" \" &_
  \" WHERE Show_ID=\" & show_id
  conn.Execute(SQLupdate)
  SQLquery = \"SELECT max([Booking_ID]) as bookingnumber FROM booking\"
  Set rsBooking = conn.execute(SQLquery)
  maxbookid = rsBooking(\"bookingnumber\") + 1
  SQLinsert = \"INSERT INTO Booking ( show_id, booked_seats ) \" & _
  \"VALUES ('\" & show_id & \"', '\" & tickets & \"')\"
  conn.Execute(SQLinsert) % >
  You have booked < %=tickets% > ticket(s) for < %=movie_title% >< br / >
  The show will take place at < %=theater_name% > (< %=time% >)
  < br / >
  Your reference number is < %=maxbookid% >

  下面是显示:

  Figure 4:完成交易.

  交易已经完成了,电影院可以坐着电影院门口收钱了.

上一页  [1] [2] [3] [4] 

【公司简介】:
   天府星空网络科技成都网站制作公司,专业从事成都网站建设 成都网页制作 成都网站设计以精深技术为核心、以专业队伍为支撑。致力于为成都政府网站建设成都公司网站建设成都学校网站建设等提供高技术含量的成都网页设计服务。
   公司始终以不懈的努力、更高的目标来要求自己。凭借多年的成都网页设计成功经验,公司已拥有数百例经典网站成功案例,是正规的成都网站建设公司
   成都网站建设的专业服务商,强大的成都网页制作技术团队,在网站设计等方面始终保持领先地位,并获得了网页制作公司业界的广泛赞誉和认同。公司重视网页制作质量,打造成都地区网站制作公司知名品牌,以优秀的网站设计技术,创一流的成都网站建设作品。建网站就找天府星空,助您马到成功!