WAP中的ASP技術之六

來源:互聯網
上載者:User

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是需要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上測試My Code,我們會立即感到我們有比我們想像更大的螢幕。實際上,有些電影院的名字很古怪,而且這些長名字會佔用很大螢幕空間,我們沒有必要浪費這些顯示空間,盡量把這些名字簡化。


 票

  下一步就是讓使用者選擇需要的票數.這部分的代碼很像其它的部分。我將從資料庫中查詢相同的資料,因為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,但是它的可移動性卻是重要的,也為商家提供了不少的商機。 



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.