Criando Páginas WAP dinâmicas com WML e ASP

Vamos mostrar um exemplo de como criar um site WAP  dinâmico usando WML e ASP. Observe que nos dois arquivos de exemplo a primeira linha inserida é a que permite usarmos scripts ASP e tags WML. 

Vamos usar o arquivo Biblio.mdb para nosso exemplo. Ele possui uma tabela chamada Publishers e outra tabela chamada Titles. (Estamos interessados somente nessas duas tabelas)

A principio iremos nos conectar ao banco de dados e exibir o nome dos editores com código menor que 30 - "Select * from PUBLISHERS Where PubId < 30  ORDER BY PubId". 

Será criado um link  ( <anchor><%=rs("name")%><go href="titulos.asp?id=<%=Pubid%>"/></anchor>) em cada nome , de forma que se o usuário clicar em um nome isto chamará outra página (titulos.asp) que irá abrir a tabela TITLES  e exibir os nomes dos títulos publicados para aquele editor e o ano de cada publicação. ("Select * from TITLES Where PubId ="&id&" ORDER BY PubId")

Arquivo editor.asp - Código fonte que exibe o nome dos editores 

<% Response.ContentType = "text/vnd.wap.wml" %><?xml version="1.0" encoding="iso-8859-1"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

 

<!-- Esta é a carta(CARD) principal do Baralho (DECK) -->

<card id="MainCard">

<p align="left"><small><b>EXEMPLO DE PAGINA WAP COM ASP </b></small></p>

<%

 

strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("\teste\BIBLIO.MDB")

set conn = server.createobject("adodb.connection")

conn.open strconn

set rs = server.createobject("adodb.recordset")

 

Query = "Select * from PUBLISHERS Where PubId < 30  ORDER BY PubId"

rs.open Query, conn

if not rs.eof Then

  rs.movefirst

  Do While NOt Rs.EOF

  id = rs("Pubid") 'le cada registro e exibe 

  %>

  <p align="left"><small><anchor><%=rs("name")%><go href="artigo.asp?id=<%=Pubid%>"/></anchor></small></p>

  <%

  rs.movenext

  Loop

else

  response.write("<p align='left'><small>Não existem registros para o criterio.</small></p>")

End if

 

' fecha todos os objetos

rs.close

Set conv = nothing

set rs= nothing

set conn = nothing

 

%>

<p align="left"><small><a href="pagina1.asp ">Retorna</a></small></p>

</card>

</wml>

Abaixo temos o código do arquivo titulos.asp que irá exibir os títulos publicados para determinado editor.

<% Response.ContentType = "text/vnd.wap.wml" %><?xml version="1.0" encoding="iso-8859-1"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

<!-- Esta é a carta(CARD) principal do Baralho (DECK) -->

 

<card id="MainCard">

<%

id = Request.QueryString("id")

dim conn

dim rs

dim strsql

dim strconn

 

strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("\teste\biblio.mdb")

set conn = server.createobject("adodb.connection")

conn.open strconn

 

set rs = server.createobject("adodb.recordset")

Query = "Select * from TITLES Where PubId =" & id & " ORDER BY PubId"

rs.open Query, conn

 

rs.movefirst

 

Do While NOt Rs.EOF

 %>

 <p align="left"><small><b><%=rs("Title")%></b></small></p>

 <p align="left"><small><%=rs("[Year Published]")%></small></p>

 <%

 rs.movenext

Loop 

 

'fechando todos os objetos

rs.close

set rs= nothing

set conn = nothing

 

%>

<p align="left"><small><a href="editor.asp">Retorna</a></small></p>

</card>

</wml>

Próximo | Anterior