helyoWAP |
|
PÁGINAS
WML GERADAS DINAMICAMENTE EM AMBIENTE ASP |
Autores: Helio Fonseca Rosa e Andrea de Mello Rosa
Esta página contém 4 figuras grandes. Aguarde a carga se a conexão estiver lenta.
Consulta ao bancoCinema.mdb (2)
Continuando. Vamos comentar o programa tela100.asp. Antes, repetimos a tela com a relação dos filmes, já apresentada anteriormante:
O cursor aponta para o filme "60 Segundos". Clicando na tecla abaixo do label "Link", obtemos a seguinte tela (a segunda e terceira foram obtidas por rolamento da primeira):
O programa que gerou a tela
chama-se tela100.asp. Como sempre, foi gravado na pasta c\intpub\wwwroot\asp
com opção "somente texto".
Eis o código:
Programa tela100.asp
<%
Response.ContentType = "text/vnd.wap.wml"
%>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
" http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card>
<p>
***** HELYOWAP *****<br/>
*******FILME********<br/>
<%
DIM conCinema
DIM recFilmes
DIM pssql
DIM cod
codigo=(Request.QueryString("cod"))
const cntCaminho = "c:\inetpub\wwwroot\asp\bancoCinema.mdb"
Set conCinema = Server.CreateObject("ADODB.Connection")
Set recFilmes = Server.CreateObject("ADODB.Recordset")
conCinema.Open "driver={Microsoft Access Driver (*.mdb)};dbq="
& cntCaminho
pssql = "SELECT tblFilme.NomeFilme, tblFilme.AtoresFilme,
"
pssql = pssql & " tblCategoria.DescCategoria, tblCinema.NomeCinema,
"
pssql = pssql & " tblProgramacao.Horarios, tblFilme.CodFilme "
pssql = pssql & " FROM (tblCategoria INNER "
pssql = pssql & " JOIN tblFilme ON tblCategoria.CodCategoria =
tblFilme.CodCategoria) INNER JOIN "
pssql = pssql & " (tblCinema INNER JOIN "
pssql = pssql & " tblProgramacao ON tblCinema.CodCinema =
tblProgramacao.CodCinema) "
pssql = pssql & " ON tblFilme.CodFilme = tblProgramacao.Codfilme "
pssql = pssql & " WHERE tblFilme.CodFilme=" & codigo
recFilmes.Open pssql,conCinema
Response.Write recFilmes.Fields("NomeFilme") & "<br/>"
Response.Write recFilmes.Fields("AtoresFilme") & "<br/><br/>Cinemas:<br/>"
Do While Not recFilmes.Eof
Response.Write recFilmes.Fields("NomeCinema") & "<br/>"
Response.Write recFilmes.Fields("Horarios") & "<br/>"
recFilmes.MoveNext
Loop
recFilmes.Close
conCinema.Close
%>
</p>
</card>
</wml>
Cruzes! Muito complicado!!!
Nem tanto.
Faça o seguinte exercício visual "simplificatório": examine o
programa sem considerar a sentença Select que está em vermelho.
Pronto? Melhorou, não?
Lembra-se que o programa filmes100.asp enviava um código junto
com o endereço de tela100.asp ( <a href="tela100.asp?cod=3">60
Segundos</a><br/> )?
Pois lá está a variável cod declarada no comando DIM.
Esta variável contém o código que é recuperado e colocado em uma nova variável
chamada "codigo" por ação da sentença Request.QueryString
que você já conhece .
Mas onde será utilizado o código do filme que agora está contido na variável
"codigo"?
Veja na próxima página.