WAP中的ASP技术(四)
|
这部分代码让用户来选择看什么时间的电影,所有的记录根据前一页所选的电影来决定。在这里来选择电影院和上映时间. 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是需要 下面有一些有趣的事情: <select name="show"> <% Do while not rsShows.eof response.write("<option value="" & rsShows("show_id") & "">" & Left(rsShows("name"),cutter) & " (" & 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不能在真正的 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
"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:完成交易. 交易已经完成了,电影院可以坐着电影院门口收钱了. 结论 WAP现在才刚刚走出它的第一步,然而它是最近几年内最有革命性的IT发展之一。在这篇文章中我介绍了怎样用asp写WAP应用程序, |
