helyoWAP |
|
PÁGINAS
WML GERADAS DINAMICAMENTE EM AMBIENTE ASP |
Autores: Helio Fonseca Rosa e Andrea de Mello Rosa
Esta página contém 6 figuras grandes. Aguarde a carga se a conexão estiver lenta.
Vamos examinar a sentença Select. Você já sabe que certamente foi gerada pela ferramenta gráfica do Access. Antes, uma observação: a tela mostrada acima possui poucos dados, de propósito, para não complicar muito a explicação. Você poderá se exercitar colocando outros dados. Para tanto, fizemos uma query envolvendo todas as 4 tabelas do banco.
(abaixo, a continuação da grade inferior)
Na linha "Criteria"
repare no número 1. Nesta consulta estamos particularizando o código do
primeiro filme da tabela apenas para montar a sentença da Query centrada no código.
Poderia ser qualquer outro código Quando a sentença for transferida para o
programa , o número 1 será substituida pela variável "codigo",
explicada acima.
Eis a sentença gerada no processo:
Na transferência
desta tabela para o programa é que mora o PERIGO!
É preciso fracionar a sentença em pequenas partes ( com muita atenção e respeitando
os espaços em branco) e retirar o "ponto-e-vírgula" do
final.
Os parênteses da cláusula WHERE podem ser suprimidos .
Eis como se processa a substituição do número 1 pela variável "codigo":
pssql = pssql & " WHERE tblFilme.CodFilme="
& codigo
Quando tentamos escrever o "Response.Write" em apenas uma sentença, em alguna casos, também tivemos mensagem de erro e colocamos cada "Response" em linhas diferentes.
E o restante do código... o que faz exatamente?
Veja esta sentença:
recCines.Open pssql,conCinema
Simplificadamente,
podemos dizer que esta sentença provoca a criação de uma tabela no recordset
com os dados da pesquisa feita com base no código do filme.
Lembra-se da linha Criteria da grade de design da query? Pois bem, apenas para
gerar a tabela do recordset que deu origem à tela mostrada acima, vou colocar o
código 3 em lugar do 1 ( 3 é o código do filme "60 Segundos".
Obtive a seguinte tabela:
É nesta tabela que o programa vai buscar os dados para, a partir dos comandos dentro do loop DO WHILE, gerar a tela mostrada acima (com as duas outras obtidas por rolagem). Se o filme estivesse sendo exibido em apenas um cinema, esta tabela conteria apenas uma linha.
Atenção : este programa tela100.asp não poderá ser testado individualmente, digitando-se seu endereço no simulador, pois ocorrerá o seguinte erro:
O motivo é o seguinte: para funcionar, o programa tela100.asp precisa receber o código do filme do programa filme100.asp; testado isoladamente, sem o código, ocorrerá o erro acima; teste-o a partir do hiperlink do programa filme100.asp. Esta observação é valida para o programa tela200.asp.
Na "Parte
3" a seguir veremos o programa tela200.asp que gera a tela
do cinema em que é exibido um ou mais filmes.