WAP中的ASP技术之六
发布时间:2006-04-10 12:45:18 来源:天极网 网友评论 0 条
选择电影院和上映时间
这部分代码让用户来选择看什么时间的电影,所有的记录根据前一页所选的电影来决定。在这里来选择电影院和上映时间.
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:完成交易.
交易已经完成了,电影院可以坐着电影院门口收钱了.
结论
WAP现在才刚刚走出它的第一步,然而它是最近几年内最有革命性的IT发展之一。在这篇文章中我介绍了怎样用asp写WAP应用程序,并对你们提出了一些警告,希望对你们以后的发展有用。多媒体技术依然不能太多的用于WAP,但是它的可移动性却是重要的,也为商家提供了不少的商机。
- 推荐阅讯
- 网页最窄770px最宽1024px经典布局
- WML学习(二):基本格式和文件头
- 强制弹出广告页面+自动最小化代码
- 值得收藏的东东 50条网页制作小技巧集锦
- WML学习(三):显示文本
- Spring MVC框架的高级配置
- 如何将网页所有元素保存在一个文件中
- WML学习(四):锚和任务
- 转:RSS全文还是摘要调查结果
- 快速制造成功的中文web2.0网站
- 阅读排行
- 1.淘宝网店“设计装修”技巧全攻略
- 2.javascript函数库
- 3.我的地盘听我的 六大主流博客网站对比评测
- 4.WAP建站入门教程
- 5.网页木马深度剖析以及手工清除
- 6.WAP建站语言WML语法全接触
- 7.好事喜事送上祝福 电子请柬随网拈来
- 8.如何保存网页中的Flash文件?
- 9.WAP建站WML语言语法基础
- 10.介绍几款WAP网页制作工具(提供下载)
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
