WAP中的ASP技術(四)
來源:互聯網
上載者:User
選擇電影院和發行日期
這部分代碼讓使用者來選擇看什麼時間的電影,所有的記錄根據前一頁所選的電影來決定。在這裡來選擇電影院和發行日期.
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,我們會立即感到我們
有比我們想像更大的螢幕。實際上,有些電影院的名字很古怪,而且這些長名字會佔用很大螢幕空間,我們沒有必要浪費這些顯示空