340 likes | 422 Views
COLÉGIO DA IMACULADA Curso Técnico em Informática. ASP (Active Server Pages). Prof. Tales Cabral talescabral@colegiodaimaculada.com.br. 3º Módulo. Quem reconhece?. O ASP é interpretado pela maioria dos navegadores, entre eles: Internet Explorer, Firefox, Chrome, Opera...
E N D
COLÉGIO DA IMACULADA Curso Técnico em Informática ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br 3º Módulo
Quem reconhece? • O ASP é interpretado pela maioria dos navegadores, entre eles: Internet Explorer, Firefox, Chrome, Opera... • O que é necessário para reconhecer? • Enquanto a edição, o computador deve ser configurado como servidor (IIS – Internet Information Services). • Após o site criado, a hospedagem deve ser feita em algum servidor que aceite ASP (Windows). Importante: no momento da criação, se o programador deseja sua página ASP como principal, deverá salvar o arquivos como default.asp (conf. IIS).
Quem edita? • O ASP é editado por qualquer ferramenta de edição de HTML, inclusive Bloco de Notas. Para isso, é necessário somente colocar os comandos entre os delimitadores ASP: <% Código %>
Um usuário qualquer entra na página principal de uma agenda virtual da sua empresa. Nesta página, existem para todas as letras do alfabeto e para todas as cidades listadas na agenda. O servidor busca no BD todos os registros que contém a letra desejada. O servidor lê e executa as instruções ASP Usuário clica no link de algum site ASP BD Uma rotina ASP é adicionada no servidor. servidor Os registros são retornados do banco de dados (Access, SQL Server, DBase...) para o servidor O servidor se encarrega de montar os dados vindos do BD em forma de HTML conforme a exibição mais adequada Para o usuário, apenas será exibida uma página em HTML nativo Funcionamento do ASP
Esquema de Funcionamento • Cliente solicita página *.asp; • Servidor abre a página e lê seu conteúdo: • Se encontra tags HTML envia direto ao cliente; • Se encontra comandos de script: • Pára o envio; • Processa os comandos; • Servidor envia o resultado HTML ao cliente.
Considerações Iniciais No ASP: <% início do trecho de código ASP %> final do trecho de código ASP ' (aspas simples) usada antes de comentários dentro do código = é usado no modo de programação por mesclagem de códigos HTML e ASP. O que difere do PHP: <? início do trecho de código PHP ?> final do trecho de código PHP
Regras • O Arquivo em asp é salvo como “nomearquivo.asp” para que sejam reconhecidos seus comandos no web browser; • Deve haver um servidor instalado (PWS1 ou IIS2) na máquina para que sejam reconhecidos seus comandos no web browser; • Os comandos em asp são colocados entre os delimitadores<% e %>; • Não é necessário “;” (ponto-e-vírgula) ou qualquer outro marcador para terminar uma linha de código. • A declaração de variáveis não depende da cláusula “var” e não é obrigatória a inicialização • Eventualmente, deve-se declarar uma variável utilizando-se a cláusula “dim”. Ex.: Dim variável • O código asp pode ser inserido dentro da programação html ou o código html pode ser inserido dentro da programação asp 1 PWS (Personal Web Server) – Windows 95 e Windows 98 2 IIS (Internet Information Services) – Windows XP em diante.
Primeiro exemplo O exemplo a seguir simplesmente exibe uma mensagem de cumprimento no browser. <% quem = "turma do 3o Módulo de Informática" response.write "Olá " & quem %> Arquivo: ola.asp
Explicação do primeiro exemplo <% quem = "turma do 3o Módulo de Informática" response.write "Olá " & quem %> variável atribuição de valor delimitadores concatena strings comando para escrita na tela
Aspas simples <head> <title>página em HTML e ASP</title> </head> <html> <p>Olá Mundo!!!</p> <% ' (aspas simples significa observação-comentário dentro do código) ' a linha abaixo tem o mesmo efeito do html response.write "<p>Olá Mundo</p>" %> </html>
Response.write <html> <head><title>Como funciona o ASP?</title></head> <body bgcolor="#FFFFFF"> <p>Olá Mundo!!!</p> <% response.write "<p>Olá Mundo!!!</p>“ Response.write “<table><tr><td>Célula1</td></tr></table>” & VbCrLf %> <p><%="Ola Mundo!!!"%></p> </body></html> • União dos comandos: • CR ( Carriage Return - chr(13)) – avançar linha • LF (Line Feed - chr(10) – retorno do carro • Junta strings (concatena) ou termina a linha.
Segundo exemplo O exemplo a seguir simplesmente exibe uma mensagem, que é o resultado de uma operação realizada entre variáveis, no browser. <% a = 10 b = 2 response.write a * b %> Arquivo: variaveis.asp Exercício1: Criar um arquivo com o nome exemplo1.asp. O objetivo é atribuir valores para 4 variáveis (nome, idade, nota1 e nota2). Ao término, exibir na tela o nome da pessoa, ano de nascimento e média aritmética de suas notas.
Terceiro exemplo O exemplo a seguir simplesmente exibe uma mensagem, que é o valor de uma variável, em uma parte do código HTML. <% ‘iniciar a variável acao=”passear”%> <HTML> <BODY> <FONT SIZE=”6” >Eu hoje fui <%=acao%>, para o Alentejo…</FONT> </BODY> </HTML> Arquivo: exibevar.asp Exercício2: Como o exemplo acima, iniciar as variáveis: nome, email, telefone, produtocomprado, preco, vencimento, empresa. No corpo do documento, será montada uma carta a ser apresentada à pessoa dos valores das variáveis, como sendo uma carta de cobrança pelo produto não pago.
Quarto exemplo O exemplo a seguir utiliza o comando if para comparar variáveis e descobrir o maior valor entre elas. <% a=10 b=100 if a < b then response.write “a é menor que b” else if a > b then response.write “a é maior que b” end if end if %> Arquivo: maior.asp Exercício3: Como no exemplo, atribuir valores para as variáveis nome, anodenascimento e exibir na tela mensagem para “Já pode votar” ou “Ainda não tem permissão para votar”.
Quinto exemplo Arquivo: repeticoes.asp <% a= 4 b=12 if a < b then ‘ comparação entre dois valores for I=0 to a ‘ ciclo FOR response.write “ a(“ & a & ”) é maior que “ & I & “<br>” ‘ o símbolo <br> em HTML simboliza mudança de linha ‘ no mesmo parágrafo next I ‘ final de ciclo FOR else if a>b then I = a While b<I ‘ciclo WHILE Response.write “b(“ & b & ”) é menor que” & I & “<br>” I = I – 1 wend ‘ final de ciclo WHILE end if end if %> O exemplo ao lado utiliza o comando “for” para exemplificar uma repetição (0 a 4) em ordem crescente e o comando “while” para exemplificar uma repetição (de “a” a “b”) em ordem descrescente.
Sexto exemplo Arquivo: usandocase.asp <% resposta = 4 Select case resposta case “1” response.write “ Não é ” & resposta case “2” response.write “ Não é ” & resposta case “3” response.write “Acertou é ” & resposta case “4” response.write “ Não é ” & resposta case else response.write”Desconhecido….” end select %> O exemplo ao lado utiliza o comando “case” para exemplificar uma lista de condições de acordo com valor de uma variável
Sétimo exemplo Arquivo: geratabela.asp <CENTER> <TABLE BORDER=”1”> <% contador = 1 while contador<6 %> <TR> <TD BGCOLOR=”RED””> <FONT COLOR=”WHITE”><%=contador%></FONT></TD> <TD><%=(contador-1)%></TD> <TD><%=(contador+1)%></TD> <TD><%=(contador*100)%></TD> </TR> <% contador = contador + 1 wend %> </TABLE></CENTER> O exemplo ao lado utiliza o comando “while” para gerar uma tabela de 6 linhas com diferentes valores para os campos. Cada linha conterá diferentes valores para cada coluna. Exercício4: Gerar uma tabela de 6 linhas por 4 colunas, contendo como conteúdo o valor “LXCY”.
Oitavo exemplo Arquivo: diferente.asp <HTML> <HEAD> <TITLE>Teste</TITLE> <BODY> <% contador = 1 while contador<8 %> <FONT face=”ARIAL” size=”<%=contador%>”>TESTE </FONT><BR> <% contador=contador + 1 wend %> </BODY> </HTML> O exemplo ao lado utiliza o comando “while” para gerar diferentes formatos na palavra “teste”.
Nova regra 1 <% @ LANGUAGE=VBSCRIPT %> <HTML><HEAD><TITLE> ASP – regra1</TITLE></HEAD> <BODY> <% a = 2 b = a*2 %> <!--erro--> <% a = 2 : b = a*2 %> <!--correção--> Valor de B = <%=b%> </BODY></HTML> VBScript só aceita um comando por linha Correção: separar os comandos por : (dois pontos) linha1.asp
Nova regra 2 <% @ LANGUAGE=VBSCRIPT %> <HTML><HEAD><TITLE> ASP – regra2 </TITLE></HEAD> <BODY> <% texto = “Paulo Henrique” + “Guaraciaba”%> <!--erro--> <% texto = “Paulo Henrique” + _ “Guaraciaba”%> <!--correção--> <% texto = “Paulo Henrique” + “Guaraciaba” %> <!--correção--> Nome = <%=texto%> </BODY></HTML> Um comando não pode existir em mais de uma linha: Correção: colocar o comando numa única linha ou usar o caractere _ (underline). linha2.asp
Nova regra 3 <% @ LANGUAGE=VBSCRIPT %> <% Option Explicit %> <!--torna obrigatória a declaração--> <HTML><HEAD><TITLE>ASP e Option Explicit</TITLE></HEAD> <BODY> <% Dim v1 <!--declaração explícita--> v1 = 100 v2 = 200 v3 = 300 %> V1=<%=v1%><BR> V2=<%=v2%><BR> V3=<%=v3%> </BODY></HTML> Se utilizar a cláusula “Option Explicit”, deve ser obrigatória a declaração das variáveis variavel.asp
Exemplo com Tipos de Dados <% @ LANGUAGE=VBSCRIPT %> <% Option Explicit %> pagina5 <HTML><HEAD><TITLE>Tipos em ASP</TITLE></HEAD> <BODY> <% Dim A, B, S, R(2) A = Paulo Henrique <!--string--> B = 200 <!--inteiro--> S = #24/09/2001# <!--data--> R(0) = Paulo Henrique <!--string dentro de array--> R(1) = 200 <!--inteiro dentro de array--> R(2) = #24/09/2001# <!--data dentro de array--> %> nome = <%= A%><BR> número = <%= B%><BR> data = <%= S%><BR> elemento 1 do vetor = <%= R(0)%><BR> elemento 2 do vetor = <%= R(1)%><BR> elemento 3 do vetor = <%= R(2)%><BR> </BODY></HTML> Os tipos de dados suportados pelo ASP são: Apenas 1: Variant. Porém este tipo pode ser: Integer, Long, Single, Double, Date, String, Boolean, Null, Empty, Object, Array (T) tiposdedados.asp
Exemplo com chamada/troca de dados <html> <head> <title>HTML que chama o ASP</title> </head> <body bgcolor="#FFFFFF"> <form ACTION = "horas.asp" method="POST">Clique neste botão para saber as Horas:<P><p> <input type="submit" name="Horas" value="Horas"></p> </form> <BR> <BR> <form ACTION = "data.asp" method="POST">Clique neste botão para saber a Data:<p> <input type="submit" name="Data" value="Data"></p> </form> </body> </html> Existem 2 métodos de troca de dados GET (exibe na barra de endereços) e POST (não exibe) ex1.html
Exemplo com chamada/troca de dados <html> <head> <title>Horas ... </title> </head> <body bgcolor="#FFFFFF"> São exatamente <%=Time %>. </body> </html> horas.asp data.asp <html> <head> <title>Data de Hoje ... </title> </head> <body bgcolor="#FFFFFF"> Hoje é <% = Date %>. </body> </html>
Exemplo com chamada/troca de dados <html> <head> <title>Código que roda no Cliente.</title> </head> <script language="VBScript"> SUB BOTAO1_ONCLICK() RodarCli.BOTAO1.Value = "Mudamos o Value!" END SUB </script> <body bgcolor="#FFFFFF"> <form NAME=RodarCli method="POST"> <p><input type="button" name="BOTAO1" value="Vamos mudar o value!"></p> </form> </body> </html> Trocas para o mesmo site. muda.asp
Acessando Banco de Dados (ADO) • O ADO é instalado junto ao IIS e também encontra-se no servidor • O ADO possui objetos
Acessando Banco de Dados (ADO) Exemplo de conexão <% Set Conex = Server.CreateObject (“ADODB.Connection”) Conex.Open “BancoDados”, “ ”, “ ” Set RS = Server.CreateObject ("ADODB.RecordSet") RS.Open "SELECT * FROM TabClientes", Conex, 3, 3 %> Set Conex = Server.CreateObject("ADODB.Connection") 'Abre a conexão com o banco de dados utilizando o Driver {Microsoft Access... '(*.mdb) indica que o arquivo utiliza extensão mdb Conex.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}“[,"username","password“] strQuery = "INSERT INTO tAtraso (num,data,aluno,serie,periodo,motivo,obs,turno,discip) VALUES ('"&numeroatraso&"','"&dataatraso&"','"&nomealuno&"','"&turmaaluno&"','"&periodoatraso&"','"&motivoatraso&"','"&observacao&"', '"&turnoatraso&"', '"&disciplinaaluno&"')“ Set ObjRs = objConn.Execute(strQuery) Conex.close
Acessando Banco de Dados (ADO) - Exemplo <% DimConexao Set Conexao = Server.CreateObject("ADODB.Connection") Conexao.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\db\bancodedados.mdb") Set Registros = Conexao.execute(“select * from tabela”) Registros.movefirst Do while NOT Registros.EOF Response.write “<H1>” & Registros.campo1 & VbCrLf Registros.movenext Loop Registros.close Set Registros = Nothing Conexao.close %>
Conectado a diferentes driversUsando Driver ODBC • Elemento comum: • Set Conexao= Server.CreateObject(“ADODB.Connection”) • ASPACCESS • MDB: Conexao.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=“&Server.MapPath("/jsmith/data/statistics.mdb") • ACCDB: _______________________________________________________ ____________________________________________________________________________________________________________________________ • ASPMySQL • Conexao.Open "DRIVER={MySQL ODBC 5.1 Driver}; SERVER=ENDEREÇO_DA_BASE_MYSQL; PORT=3306; DATABASE=NOME_DA_BASE; USER=NOME_DA_BASE; PASSWORD=SENHA_DA_BASE; OPTION=3;"
Conectado a diferentes driversUsando OLE DB • Elemento comum: • DimConexao ‘Opcional • Set Conexao= Server.CreateObject(“ADODB.Connection”) • ASPACCESS • MDB: Conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & Server.MapPath("\db\bancodedados.mdb") • "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\bancodedados.mdb;“ ou • "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\bancodedados.mdb; User Id=usuario; Password=senha;" • ACCDB: Provider=Microsoft.ACE.OLEDB.12.0;Data Source= C:\myFolder\myAccessFile.accdb; PersistSecurity Info=False; • ASPMySQL • Provider=anyoledbprovider's name;OledbKey1=someValue;OledbKey2=someValue; Veja mais formas de conexão em: http://www.connectionstrings.com/