Apostila ASP ACR

87
ACRInformática Pág - 1 ASP .......................................................................................................................................................... 3 Introdução ................................................................................................................................................ 3 O que é ASP ? ......................................................................................................................................... 4 Vantagens no Uso do ASP....................................................................................................................... 4 O que é necessário para trabalhar com ASP ? ........................................................................................ 4 Como funcionam as páginas em ASP ? ................................................................................................... 5 A Hierarquia dos Objetos das Páginas ASP : .......................................................................................... 5 Usando o personal WEB Server (Windows 98, 98se e ME) e ou Internet Information Server ( Windows NT) ........................................................................................................................................................... 6 Objetos ASP............................................................................................................................................. 6 Objeto Request ..................................................................................................................................... 6 Exercício 1 ............................................................................................................................................... 7 Exercício 2 ............................................................................................................................................... 9 Exercício 3 ............................................................................................................................................. 10 Exemplos de certificação: ...................................................................................................................... 12 Exercício 4 ............................................................................................................................................. 13 Objeto response ..................................................................................................................................... 14 A coleção cookies do objeto response ................................................................................................... 14 Nome...................................................................................................................................................... 14 EXPIRES................................................................................................................................................ 14 DOMAIN ................................................................................................................................................. 14 PATH...................................................................................................................................................... 14 SECURE ................................................................................................................................................ 14 HASKEYS .............................................................................................................................................. 14 Propriedades do Objeto response.......................................................................................................... 15 Métodos do objeto response .................................................................................................................. 16 Addheader.............................................................................................................................................. 16 Addtolog ................................................................................................................................................. 16 Clear....................................................................................................................................................... 16 End ......................................................................................................................................................... 16 Flush ...................................................................................................................................................... 17 Redirect .................................................................................................................................................. 17 Write ....................................................................................................................................................... 17 Objeto server .......................................................................................................................................... 17 Métodos do ObjetoSever........................................................................................................................ 17 Objeto Application .................................................................................................................................. 18 Objeto Session ....................................................................................................................................... 19 Exercício com session............................................................................................................................ 19 Banco de Dados ..................................................................................................................................... 20 O que é banco de dados: ....................................................................................................................... 20 Onde usar Banco de dados:................................................................................................................... 20 Criando um banco de dados: ................................................................................................................. 20 Conectando Banco dados via ODBC : ................................................................................................... 21 Conectando Banco de dados via Dbq Driver: ........................................................................................ 24 Conectando Banco de dados via Microsoft JetOleDb: ........................................................................... 25 Mostrando os registros do banco de dados em tela: .............................................................................. 26 SQL ........................................................................................................................................................ 28 Comando Select ..................................................................................................................................... 28 Métodos Like, Between e IN ............................................................................................................... 30 Comando insert ...................................................................................................................................... 31

Transcript of Apostila ASP ACR

Page 1: Apostila ASP ACR

ACR Informática

Pág - 1

ASP.......................................................................................................................................................... 3 Introdução ................................................................................................................................................ 3 O que é ASP ? ......................................................................................................................................... 4 Vantagens no Uso do ASP....................................................................................................................... 4 O que é necessário para trabalhar com ASP ? ........................................................................................ 4 Como funcionam as páginas em ASP ?................................................................................................... 5 A Hierarquia dos Objetos das Páginas ASP : .......................................................................................... 5 Usando o personal WEB Server (Windows 98, 98se e ME) e ou Internet Information Server ( Windows NT) ........................................................................................................................................................... 6 Objetos ASP............................................................................................................................................. 6

Objeto Request..................................................................................................................................... 6 Exercício 1 ............................................................................................................................................... 7 Exercício 2 ............................................................................................................................................... 9 Exercício 3 ............................................................................................................................................. 10 Exemplos de certificação: ...................................................................................................................... 12 Exercício 4 ............................................................................................................................................. 13 Objeto response..................................................................................................................................... 14 A coleção cookies do objeto response................................................................................................... 14 Nome...................................................................................................................................................... 14 EXPIRES................................................................................................................................................ 14 DOMAIN................................................................................................................................................. 14 PATH...................................................................................................................................................... 14 SECURE ................................................................................................................................................ 14 HASKEYS .............................................................................................................................................. 14 Propriedades do Objeto response.......................................................................................................... 15 Métodos do objeto response .................................................................................................................. 16 Addheader.............................................................................................................................................. 16 Addtolog ................................................................................................................................................. 16 Clear....................................................................................................................................................... 16 End......................................................................................................................................................... 16 Flush ...................................................................................................................................................... 17 Redirect.................................................................................................................................................. 17 Write....................................................................................................................................................... 17 Objeto server.......................................................................................................................................... 17 Métodos do ObjetoSever........................................................................................................................ 17 Objeto Application .................................................................................................................................. 18 Objeto Session....................................................................................................................................... 19 Exercício com session............................................................................................................................ 19 Banco de Dados..................................................................................................................................... 20 O que é banco de dados: ....................................................................................................................... 20 Onde usar Banco de dados:................................................................................................................... 20 Criando um banco de dados: ................................................................................................................. 20 Conectando Banco dados via ODBC : ................................................................................................... 21 Conectando Banco de dados via Dbq Driver: ........................................................................................ 24 Conectando Banco de dados via Microsoft JetOleDb: ........................................................................... 25 Mostrando os registros do banco de dados em tela:.............................................................................. 26 SQL........................................................................................................................................................ 28 Comando Select..................................................................................................................................... 28

Métodos Like, Between e IN............................................................................................................... 30 Comando insert ...................................................................................................................................... 31

Page 2: Apostila ASP ACR

ACR Informática

Pág - 2

Comando update.................................................................................................................................... 32 Comando delete..................................................................................................................................... 32 Inserido Registros no banco de Dados: ................................................................................................. 32 Inserindo registros na tabela via ADO:................................................................................................... 34 Atualizando os dados de uma tabela: .................................................................................................... 34

Excluindo os dados de uma tabela: .................................................................................................... 37 Contando registros: ................................................................................................................................ 39 Enviando um e-mail ao administrador do site: ....................................................................................... 40 Planejando uma loja virtual: ................................................................................................................... 41

Diagrama em blocos do funcionamento da loja virtual : ..................................................................... 41 Lay out da Tela da Loja Virtual............................................................................................................... 41 A pagina Menu.asp ................................................................................................................................ 42

Código da página menu.htm: .......................................................................................................... 42 Pagina Busca.asp .................................................................................................................................. 43

Código da pagina ASP :.................................................................................................................. 43 'R�8QWLO�UVWHPS�HRI�25�UHJLVWURV�! �PD[LPRUHJLVWURV........................................................................ 46 Pagina carrinho.asp ............................................................................................................................... 48

Código da pagina ASP :.................................................................................................................. 48 Entra caixa.asp....................................................................................................................................... 56 Confirma.asp.......................................................................................................................................... 66 Trabalhando com arquivos de Texto. ..................................................................................................... 69 Chat........................................................................................................................................................ 70 Default.asp ............................................................................................................................................. 70 entar.asp ................................................................................................................................................ 70 formulario.asp ........................................................................................................................................ 72 PHQVDJHP�DVS....................................................................................................................................... 76 VDLU�DVS................................................................................................................................................... 77 WRSR�DVS ................................................................................................................................................. 78 0DLOHU�±�(QYLR�GH�(�PDLOV....................................................................................................................... 79 ,QGH[�KWP ............................................................................................................................................... 79 ,QVHULU�KWP .............................................................................................................................................. 79 LQVHULU�DVS............................................................................................................................................... 80 0DLOHU�+WP .............................................................................................................................................. 80 PDLOHU�DVS............................................................................................................................................... 81 3URSULHGDGHV�GH�'LVFR� .......................................................................................................................... 81 3URSULHGDGHV�'H�XP�DUTXLYR�JUDYDGR�QR�GLVFR� .................................................................................... 82 6HOHFW�HP�0~OWLSODV�7DEHODV� ................................................................................................................. 83 *HUHQFLDGRU�GH�%DQFR�GH�GDGRV�........................................................................................................... 84 �

Page 3: Apostila ASP ACR

ACR Informática

Pág - 3

$63�

,QWURGXomR�

A Internet veio chegando de mansinho e como uma bola de neve foi crescendo e envolvendo tudo à sua volta. Mudando comportamentos e atitudes, fez poderosos se curvarem ante a sua passagem e passou a ser o centro das atenções, trazendo consigo novos conceitos e fazendo com que o desenvolvimento de novas tecnologias surgisse a partir desses conceitos.

A Internet pode ser entendida como uma grande rede com milhões de usuários interagindo. Nela temos milhões de computadores se comunicando entre si através de um protocolo comum e uma linguagem especial que todos os computaores podem entender.

Basicamente temos dois elementos atuando na Internet: o FOLHQWH�que requisita uma série de informações e o VHUYLGRU�que responde a estas requisições fornecendo as informações solicitadas. Quando um usuário se conecta à Internet e acessa uma página ou envia um e-mail ele está solicitando um serviço um serviço à rede. O servidor recebe o seu pedido e providencia a resposta para sua solicitação.

Para ser um VHUYLGRU de rede, um computador necessita de um endereço (um numero de identificação), com o qual vai ser localizado, e precisa compreender e processar os protocolos de comunicação.

Para ser um FOLHQWH o computador precisa estar conectado à Internet e possuir um programa, um Browser(navegador), para se comunicar com o servidor, recebendo e enviando dados.

É interessante notar que o cliente não precisa saber nada sobre o computador que atua como servidor e este por sua vez também não precisa saber nada sobre o computador que faz o papel de cliente. O protocolo de comunicação é o responsável pela interação.

Os dois protocolos mais usados na Internet são o +773�(K\SHU�WH[W�WUDQVIHU�SURWRFRO�) e o )73�(ILOH�WUDQVIHU�SURWRFRO). É através destes protocolos que é feita a ligação do cliente com o servidor na grande WEB e que as páginas podem ser acessadas e alteradas pelos usuários.

No início as páginas dos documentos amazenadas no servidores (recebem o nome de site) eram estáticas e com atualizações de conteúdo acontecendo a cada semana ou mês. Mas com o crescimento da popularidade da Internet e o aparecimento de novos Softwares de desenvolvimento (Dreamweaver, FrontPage, Flash, Fireworks, etc) a necessidade de atualização destes documentos cresceu provocando atualizações diarias e até mesmo em alguns casos instantânea.

Com o incremento do negocios na WEB, dados que necessitam ser alterados por um usuário durante o acesso a uma página tornaram-se uma coisa comum e páginas que alteram seu conteúdo a cada interação com o usuário tornaram-se mais frequentes. Chamamos isto de Páginas Dinâmicas.

No início a tecnologia usada para isso foi a &RPPRQ�*DWHZD\�,QWHUIDFH�(&*,�, onde programas interagem com o servidor e respondem às solicitações dos usuários com atualizações dos dados e das páginas dos sites.

Uma evolução desta tecnologia para acesso e atualização dinâmicas propostas pela Microsoft ™ é a ASP ($FWLYH� 6HUYHU� 3DJHV ou SiJLQDV� GH� VHUYLGRU� DWLYDV). Com ela podemos criar páginas interativas rapidamente.

Page 4: Apostila ASP ACR

ACR Informática

Pág - 4

2�TXH�p�$63�"�

ASP é um ambiente para programação de páginas dinâmicas e interativas que usam os seguintes recursos :

1. +70/ (+\SHU�7H[W�0DUNXS�/DQJXDJH�RX�/LQJXDJHP�GH�0DUFDGRUHV�GH�+LSHUWH[WR), a linguagem com a qual escrevemos as páginas armazenadas nos servidores e que serão visualizadas pelos usuários.

2. /LQJXDJHQV�6FULSWV como VBScript ou Java Script que atuam no servidor.

3. $FHVVR�D�%DVH�GH�'DGRV que suportam ODBC (2SHQ�'DWD�%DVH�&RQQHFWLYLW\��e ADO ($FWLYH�'DWD�2EMHFWV).

Você identifica um arquivo que contém código ASP pela sua extensão (.ASP). Ele contém basicamente código HTML, e scripts que irão rodar no servidor, sendo o Vbscript a linguagem mais utilizada. Podemos usar também JavaScript, CGI, Pearl, C, dentre outras. Ao utilizar ASP temos diversas vantagens.

9DQWDJHQV�QR�8VR�GR�$63� ,QGHSHQGrQFLD�GR�%URZVHU� Os scripts rodam no servidor e somente os resultados são enviados ao usuário. Sendo assim qualquer navegador, independente de seu nome, marca ou versão é capaz de acessar páginas em ASP. �$FHVVR� D� %DVH� GH� 'DGRV� Contém um mecanismo fácil para visualizar, atualizar e adicionar informações à base de dados que suportem ODBC e SQL. 6HJXUDQoD�GR�FyGLJR�IRQWH� O cliente visualiza somente o resultado do processamento em código HTML. Os scripts executados em modo server não aparecem no código fonte do site exibido em tela. �$GPLQLVWUDomR�GR�(VWDGR� Através de objetos internos da ASP podemos controlar o estado do aplicativo com base no usuário, no aplicativo e no servidor. 6HPHOKDQoD� FRP� 9LVXDO� %DVLF� H� 9%$� �� Caso você conheça uma destas linguagens, o seu conhecimento será imediatamente aproveitado. Podemos usar o Vbscript e ADO. 2�TXH�p�QHFHVViULR�SDUD�WUDEDOKDU�FRP�$63�"� Para desenvolver páginas ASP, você precisa ter um servidor Windows 95, Windows 98, Windows NT ou Windows NT server. 3DUD�:LQGRZV����RX������Personal WEB server. �3DUD�:LQGRZV�17�VHUYHU�RX�17�:RUNVWDWLRQ� Internet Information server 4.0 (options pack 4), service pack 4 e Internet explorer 4.0.

Page 5: Apostila ASP ACR

ACR Informática

Pág - 5

3DUD�DPERV�RV�VLVWHPDV��Um driver de ODBC instalado e funcionando neste servidor para acessar o banco de dados. Um diretório para qualquer as páginas, diretório este que deve possuir diretório de execução ( /inetpub/wwwroot ). 8PD�ERD�VROXomR���Uma boa solução para máquinas caseiras com Windows 98 é instalar o Personal WEB Server. Instalar e usar o Access com driver ODBC de banco de dados. Esta configuração permite instalar ,desenvolver e testar sites em ASP com acesso a base de dados sem estar conectado a um servidor e sem expor sua páginas na WEB antes de que o código seja todo depurado. &RPR�IXQFLRQDP�DV�SiJLQDV�HP�$63�"�

O usuário faz a requisição de um serviço usando o navegador. Quando o usuário digita uma URL (8QLIRUP�UHVRXUVH�ORFDWLRQ) de um site em seu navegador, este por sua vez inicia uma requisição. Esta requisição é enviada ao servidor através do protocolo HTTP. Quando o servidor recebe esta requisição ele a intrerpreta, processa, localiza o arquivo em suas pastas, lê este arquivo e devolve ao navegador um código HTML para que este interprete e exiba em tela o resultado final.

Quando o endereço solicitado pelo usuário ao servidor é uma página ASP, o servidor verifica qual a extensão do arquivo (se HTM, HTML, HTMLS ou ASP). Sendo ASP um programa especial no servidor, interpreta o código script contido neste arquivo e o executa interessando somente ao navegador o resultado do processo deste programa no formato HTML padrão.

$�+LHUDUTXLD�GRV�2EMHWRV�GDV�3iJLQDV�$63��� Analise o quadro abaixo :

Usuário ( cliente )

Objeto 5HVSRQVH�

Objeto 5HTXHVW�

6HUYLGRU�

Objeto $SSOLFDWLRQ�

Objeto 6HUYHU�

Objeto 6HVVLRQ�

Page 6: Apostila ASP ACR

ACR Informática

Pág - 6

O objeto UHTXHVW recebe informações do cliente para o servidor, que processa estas

informações. Os objetos $SSOLFDWLRQ�e 6HVVLRQ�juntos, gerenciam o armazenamento a nível de seção e de aplicação. O nível de aplicação é o tempo que o servidor fica ativo e o nível de seção é o tempo que o usuário acessa uma página. O objeto server é usado para gerenciar e criar objetos, permitindo o processamento de scripts e acesso a base de dados.

8VDQGR� R� SHUVRQDO�:(%�6HUYHU� �:LQGRZV� ���� ��VH� H�0(�� � H� RX� ,QWHUQHW� ,QIRUPDWLRQ�6HUYHU� ��:LQGRZV�17��

Você já sabe que o ASP é uma linguagem script baseada no padrão Client-Server e sabe também que esta linguagem só é capaz de interpretar e processar as instruções passadas pelo cliente ao servidor. Então se você simplesmente criar uma pasta em disco rígido para armazenar os dados, as páginas não funcionarão. Você deverá ter instalado na sua máquina um programa especial conhecido como WEB Server que nada mais é do que um emulador de servidor WEB. Este software é capaz de simular o estado “On – line ” do seu micro, criando um servidor virtual parar executar os scripts ASP.

Para instalar o personal WEB Server em sua máquina com sistema operacional Windows 98, 98 se e Me você só precisa de um cd do Windows. Neste cd você encontra a pasta add_ons, e dentro desta pasta temos a pasta pws, onde dentre os arquivos contidos você poderá encontrar o arquivo setup.exe. Basta executá-lo e pronto.

No :LQGRZV� 17 é mais complicado um pouco. Você precisa primeiramente atualizar seu sistema para a versão 4 instalando o VHUYLFH�SDFN��. Depois precisa atualizar o seu Explorer para a versão 4, e para concluir é necessário instalar o RSWLRQV�SDFN��.

Ao concluir a instalção em ambos os casos, você terá em sua máquina uma pasta ,1(738%, dentro desta você terá a pasta :::5227, onde você deverá criar uma pasta para quardar seus arquivos ASP. Crie uma pasta com o seu nome e dentro desta crie uma pasta com o nome de $8/$� e a partir deste ponto salve todos os seus arquivos dentro desta pasta.

Para acessar e testar as paginas por você criadas de nada adiantará você tentar usar a opção abrir do menu arquivo do explorer. Será necessário você estar navegando na web virtual criada pelo 3HUVRQDO�ZHE�VHUYHU. Veja abaixo um exemplo de como chamar um arquivo para teste:

KWWS���QRPH�GD�PDTXLQD�DOLDV�QRPH�DUTXLYR�DVS�

� 2EMHWRV�$63�2EMHWR�5HTXHVW� Retorna os valores das requisições feitas pelo browser do cliente ao servidor durante uma requisição HTTP.

6LQWD[H���5HTXHVW>�&ROOHFWLRQ@�YDULiYHO���Cada requisição pode ter diversos parâmetros em diferentes categorias e, para tratar esta quantidade de informação o objeto request utiliza coleções que podem ser vistas como vetores contendo um conjunto de informação.

Page 7: Apostila ASP ACR

ACR Informática

Pág - 7

As coleções dos objetos Request são :

• 4XHU\6WULQJ

• )RUP

• 6HUYHU9DULDEOHV

• &OLHQW&HUWLILFDWHV

• &RRNLHV

Veja abaixo como usar o objeto Request com a coleção 4XHU\VWULQJ:

Antes de usar uma TXHU\VWULQJ é necessário você saber que TXHU\VWULQJ são parâmetros passados de uma página a outra através do próprio endereço URL tendo a seguinte URL:

HTTP://www.acr-info.com.br?codigo=”002712”&nome=”Marcos”&data=”30/10”

Foi requisitado ao navegador o endereço de uma URL e junto com a requisição foram passados parâmetros como código da matrÍcula, nome do aluno e data da matrícula. Veja abaixo como faríamos para recuperar estes dados via introduções do objeto Request com a coleção Querystring :

Request.querystring(“codigo”)Æ recupera o código. Request.querystring(“nome”) Æ recupera o nome. Request.querystring(“data”) Æ recupera a data. ([HUFtFLR��� Propósito do exercício: passar através de um link do tipo HTML parametros querystring e através da segunda página recuperar estes valores e escrever em tela : Crie a página abaixo e salve com o nome primeira.html : �+70/!��KHDG!��WLWOH!�$SUHQGHQGR�D�XVDU�4XHU\VWULQJ���WLWOH!���KHDG!��ERG\!��D�KUHI SULPHLUD�$63"QRPH ´VHX�QRPH´LGDGH ´VXD�LGDGH´!WHVWDU��D!���ERG\!���+70/!������

Page 8: Apostila ASP ACR

ACR Informática

Pág - 8

���Crie a página abaixo e salve com o nome primeira.asp: �+70/!��KHDG!��WLWOH!�$SUHQGHQGR�D�UHFXSHUDU�GDGRV�HP�4XHU\6WULQJ���WLWOH!���KHDG!��ERG\!����

VHW�QRPH� �5HTXHVW�TXHU\VWULQJ�³QRPH´��VHW�LGDGH� �5HTXHVW�TXHU\VWULQJ�³LGDGH´��

�UHVSRQVH�ZULWH�³VHX�QRPH�p�´��QRPH��³�EU!´�UHVSRQVH�ZULWH�³YRFr�WHP�³�LGDGH��³�EU!´���!����ERG\!���+70/!��Você deve ter notado a presença dos caracteres <% e %>. Esses caracteres são utilizados para indicar ao navegador a presença de código ASP, código este que deve vir sempre entre esses caracteres. Outro objeto ainda não conhecido por você é o objeto Response que será explicado mais à frente em outro tópico desta apostila. Este objeto é usado sempre que você precisar escrever algo que será visivel ao usuário em tela. O caracter está sendo usado como concatenador (elemento de ligação entre variáveis e strings) de strings (frases). Este do código que você acaba de criar sever apenas para unir o bloco de texto “seu nome é “ ao valor da variável, tendo como resultado final a seguinte frase: seu nome é Marcos - por exemplo.

Veja abaixo como usar o objeto Request com a coleção )RUP:

Antes de usar um request do tipo form é necessário você saber que os objetos tidos como tipo form são nada mais nada menos que simples campos de formulário HTML.

Tendo você um campo de formulário com a seguinte sintaxe :

<input type=text name=nome>

O código ASP necessário para recuperar o valor deste campo seria o código que se encontra abaixo. Este processo ocorreria quando este formulário fosse enviado ao aquivo ASP que o dentre as suas linhas de código apresenta o seguinte script :

6LQWD[H���UHTXHVW�IRUP�³QRPH´��RX�VLPSOHVPHQWH�UHTXHVW�³QRPH´��

Page 9: Apostila ASP ACR

ACR Informática

Pág - 9

([HUFtFLR��� Propósito do exercício: passar valores contidos em campos de formulários através do método submit e exibir em tela:

.............................................................Crie o seguinte código abaixo e salve com o nome de form.html: �+70/!��KHDG!��WLWOH!�$SUHQGHQGR�D�XVDU�)RUP���WLWOH!���KHDG!��ERG\!��IRUP�DFWLRQ UHVXOWDGR�$63�PHWKRG SRVW!�

�1RPH����LQSXW�W\SH WH[W�QDPH QRPH!�EU!�,GDGH��LQSXW�W\SH WH[W�QDPH LGDGH!�EU!�6H[R��LQSXW�W\SH WH[W�QDPH VH[R!�S!�

��LQSXW�W\SH VXEPLW�YDOXH HQYLDU!��LQSXW�W\SH UHVHW�QDPH OLPSDU!����IRUP!���ERG\!���+70/!��Crie a página abaixo e salve esta com o nome resultado.asp : �+70/!��KHDG!��WLWOH!�$SUHQGHQGR�D�UHFXSHUDU�GDGRV�GH�IRUP���WLWOH!���KHDG!��ERG\!����

VHW�QRPH� �5HTXHVW�IRUP��³QRPH´��VHW�LGDGH� �5HTXHVW�IRUP��³LGDGH´��VHW�VH[LR� �5HTXHVW�IRUP��³VH[R´��

�UHVSRQVH�ZULWH�³VHX�QRPH�p�´��QRPH��³�EU!´�UHVSRQVH�ZULWH�³YRFr�WHP�³�LGDGH��³�EU!´�UHVSRQVH�ZULWH�³YRFr�p�GR�VH[R��³�LGDGH��³�EU!´���!����ERG\!���+70/!�

Page 10: Apostila ASP ACR

ACR Informática

Pág - 10

Veja abaixo como usar o objeto Request com a coleção 6HUYHU9DULDEOHV: A coleção server variables contém toda a informação gerada no ato da requisição do serviço pelo navegador, em conjunto com todas as variáveis de ambiente do servidor. 6LQWD[H�� UHTXHVW�VHUYHUYDULDEOHV�RSomR�GH�YDULiYHO�� 2So}HV�GH�YDULiYHO���3$7+B,1)2� Informa o caminho da URL requisitada pelo navegador 48(5<B675,1*� Informa os parâmetros passados por uma requisição 6(59(5B1$0(� Informa o Nome do servidor +773B8$B&2/25� Informa o Número de cores do usuário (cliente) +773B8$B3,;(/6� Informa o Resolução de tela do usuário (cliente) 5(027(B$'55� Informa o endereço IP do host que está solicitando um

serviço. 5(027(B+267� Informa o nome do host que esta solicitando o serviço /2*21B86(5� Informa a conta no Windows NT à qual o usuário esta

logado. +773B8$B26� Informa o nome e a versão do software que está

respondendo ao pedido de requisição $87+B7<3(� Informa o método de autenticação usado pelo servidor 6(59(5B3257� Informa o número da porta que fez a requisição 6(59(5B35272&2/� O nome e a versão para protocolo de informação 6(59(5B62)7:$5(� O nome e a versão do software do servidor 6&5,37B0$3� Informa a base da URL 5(48(67B$''5� Informa o endereço IP do Host remoto que requisitou 5(48(67B0(7+2'� Informa método usado para fazer a requisição ( post,get) �([HUFtFLR���

Propósito do exercício: recuperar do servidor os valores de resolução de tela, número de cores e caminho utilizados e escrever em tela.

......................................................................Crie o código abaixo e salve com o nome de variaveis.asp: �+70/!��KHDG!��WLWOH!�$SUHQGHQGR�D�XVDU�6HUYHU�9DULDEOHV���WLWOH!���KHDG!��ERG\!�����UHVSRQVH�ZULWH�UHTXHVW�VHUYHUYDULDEOHV�³3DWKBLQIR´��UHVSRQVH�ZULWH�UHTXHVW�VHUYHUYDULDEOHV�³+773BXDBFRORU´��UHVSRQVH�ZULWH�UHTXHVW�VHUYHUYDULDEOHV�³+773BXDBSL[HOV´����!���ERG\!�

Page 11: Apostila ASP ACR

ACR Informática

Pág - 11

��+70/!� Veja abaixo como usar o objeto Request com a coleção &OLHQW&HUWLILFDWHV: A coleção clients certificates refere-se ao uso de certificados pelos usuários quando do acesso a um site seguro como meio identificação.

6LQWD[H��UHTXHVW�FOLHQWFHUWLILFDWHV�FKDYH>VXEFDPSR@���Se o nevegador estiver usando 66/� (6HFXUH�6RFNHWV�/D\HU) para se conectar a um servidor e este servidor solicitar uma certificação , uma série de objetos do certificado do cliente dessa coleção conterá informações sobre a identificação do cliente. A chave especifica o nome do campo a retornar. Os campos da coleção são os seguintes : 68%-(&7� Uma string que contém os valores dos subcampos os quais

contém informações sobre o assunto do certificado ,668(5� Uma string que contém uma lista dos valores dos

subcampos contendo informação sobre o emissor do certificado

9$/,')250� Uma data informando quando o certificado tornou-se válido 9$/,'817,/� Uma data informando quando o certifcado expira 6(5,$/180%(5� Uma string que contém um número serial da certificação

representado em bits hexadecimais no formato ASCII e separos por hifen ex : ³������)����´.

&(57,),&$7(� Uma string que contém o código binario completo do certificado no formato ASN.1

)/$*6� Um conjunto de sinalizadores que fornecem informações para adicionais sobre o certficado do cliente existente. Ex : o flag FH&HUW3UHVHQW, indica que um certificado para o cliente existe.

Os subcampos são parâmetros adicionais que podemos usar para retornar um campo individual nas chaves 6XEMHFW�e ,VVXHU. A tabela abaixo relaciona os valores para os subcampos mais comuns : &� Informa o nome do país de origem 2� Informa o nome da organização 28� Informa o nome da unidade organizacional &1� Informa o nome do usuário /� Informa a localidade 6� Informa o estado ou municipio ( provincia ) 7� Informa o titulo da organização *1� Informa um nome cadastrado ,� Informa um conjunto de iniciais.

Page 12: Apostila ASP ACR

ACR Informática

Pág - 12

([HPSORV�GH�FHUWLILFDomR�� 1 – O exemplo abaixo usa o modo subject para testar se o certificado do cliente foi apresentado : ����,I�OHQ�UHTXHVW�FOLHQWFHUWLILFDWH�³VXEMHFW´�� ���WKHQ��5HVSRQVH�ZULWH�³�R�FHUWLILFDGR�QmR�IRL�DSUHVHQWDGR´���!��2 – A seguir um exemplo que retorna o nome da companhia que fornece o certificado do cliente: �� UHTXHVW�FOLHQWFHUWLILFDWH�³LVVXHU&1´��!��3 – A seguir um exemplo que retorna a data em que vai expirar o certificado do cliente: �IRQW�VL]H �!�A sua cerficação irá expirar em :��IRQW!�

<%=request.clientcertificate(“validuntil”)%> 2%6�� uma coleção de certificate só poderá ser usada quando o navegador estiver navegando em páginas protegidas por uma pasta segura no servidor (SSL) e tendo o protocolo https:// ativo. Veja abaixo como usar o objeto Request com a coleção &RRNLHV: A coleção cookies é utilizada para gravar arquivos temporários na máquina do usuário. Estes arquivos são na maioria dos casos configurações personalizadas que o o próprio usuário acaba criando no site, podendo às vezes serem de mero caráter informativo (por exemplo , para saber quantas vezes o usuário já visitou sua página).

6LQWD[H���UHVSRQVH�FRRNLHV�³QRPH�GR�FRRNLH´�� �YDULiYHO��SDUD�JUDYDU��6LQWD[H�� UHTXHVW�FRRNLHV�³QRPH�GR�FRRNLH´�� �YDULiYHO��SDUD�UHFXSHUDU�GDGRV��

��������������

Page 13: Apostila ASP ACR

ACR Informática

Pág - 13

([HUFtFLR���

Propósito do exercício: criar na máquina alguns cookies e recuperar os valores para exibir em tela :

....................................................................Crie o código abaixo e salve com o nome de cookies_a.asp: �+70/!��KHDG!��WLWOH!�$SUHQGHQGR�D�XVDU�FRRNLHV���WLWOH!���KHDG!��ERG\!��IRUP�DFWLRQ FRRNLHVBE�$63�PHWKRG SRVW!�

�1RPH����LQSXW�W\SH WH[W�QDPH QRPH!�EU!�,GDGH��LQSXW�W\SH WH[W�QDPH LGDGH!�EU!�6H[R��LQSXW�W\SH WH[W�QDPH VH[R!�S!�

��LQSXW�W\SH VXEPLW�YDOXH HQYLDU!��LQSXW�W\SH UHVHW�QDPH OLPSDU!����IRUP!���ERG\!���+70/!��Crie o arquivo abaixo e salve como cookies_b.asp (este arquivo deverá gravar os cookies) : Obs : o código que gera um cookie deve vir sempre antes da tag <html>. Pois se for colocado após a tag ira resultar em um erro descrito como : os cabeçalhos html já foram gravados .... Isso ocorre por que o cookie requisita a criação do cabeçalho html e se este já tiver sido gravado o objeto cookie acaba não conseguindo criar e responde com o erro referido. ���UHVSRQVH�FRRNLHV�³DSUHQGHQGRFRRNLH´��³QRPH´� UHTXHVW�³QRPH´��UHVSRQVH�FRRNLHV�³DSUHQGHQGRFRRNLH´��³LGDGH´� �UHTXHVW�³LGDGH´��UHVSRQVH�FRRNLHV�³DSUHQGHQGRFRRNLH´��³FRRNLH´� �UHTXHVW�³VH[R´���!��+70/!��KHDG!��WLWOH!�$SUHQGHQGR�D�XVDU�FRRNLHV���WLWOH!���KHDG!��ERG\!��D�KUHI YHUFRRNLHV�DVS!�9HU�RV�FRRNLHV���D!���ERG\!���+70/!��Crie o arquivo abaixo e salve como vercookies.asp (este aqruivo deverá resgatar os valores contidos nos cookies e escrever na tela) : ����

Page 14: Apostila ASP ACR

ACR Informática

Pág - 14

QRPH UHTXHVW�FRRNLHV�³DSUHQGHQGRFRRNLH´��³QRPH´���³�EU!´�LGDGH UHTXHVW�FRRNLHV�³DSUHQGHQGRFRRNLH´��³LGDGH´���³�EU!´�VH[R UHTXHVW�FRRNLHV�³DSUHQGHQGRFRRNLH´��³VH[R´���³�EU!´��!��+70/!��KHDG!��WLWOH!�$SUHQGHQGR�D�XVDU�FRRNLHV���WLWOH!���KHDG!��ERG\!����UHVSRQVH�ZULWH�³2�VHX�QRPH�p�´��QRPH��´�EU!´�UHVSRQVH�ZULWH�³9RFr�WHP�´��LGDGH��´DQRV�GH�LGDGH��EU!´�UHVSRQVH�ZULWH�³9RFr�p�GR�VH[R�´��VH[R��´�EU!´��!���ERG\!���+70/!������2EMHWR�UHVSRQVH� O objeto response é usado para enviar respostas a um cliente, e possui apenas uma coleção - a coleção cookies. $�FROHomR�FRRNLHV�GR�REMHWR�UHVSRQVH� Determina o valor de um cookie. Se o cookie especificado não existir ele será criado neste exato momentoe caso exista, o novo valor lhe será atribuído. 6LQWD[H���UHVSRQVH�FRRNLHV�FRRNLH�>�FKDYH��DWULEXWR@� �YDORU��2QGH����&RRNLH�é o nome do cookie &KDYH�é opcional, se especificado cookie se torna dicionário. 9DORU�determina o valor atribuído ao atributo ou a chave. O atributo especifica uma informação sobre o cookie. Podendo se ter os seguintes atributos: 1RPH� Descrição (;3,5(6� A data em que o cookie expira '20$,1� Se informado os cookies serão enviados somente quando as

requisições forem feitas por este domínio que vem descrito no cookie. 3$7+� Caminho para gravação do cookie 6(&85(� Informa se um cookie é seguro +$6.(<6� Informa se um cookie contem chaves ([HPSORV���

Page 15: Apostila ASP ACR

ACR Informática

Pág - 15

�UHVSRQVH�FRRNLHV�³QRPH�GR�FRRNLH´��H[SLUHV� ����������������UHVSRQVH�FRRNLHV�³QRPH�GR�FRRNLH´��GRPDLQ� �³DFU�FRP´�UHVSRQVH�FRRNLHV�³QRPH�GR�FRRNLH´��SDWK ´ZZZ�KRPH´�UHVSRQVH�FRRNLHV�³QRPH�GR�FRRNLH´��VHFXUH �IDOVH��3URSULHGDGHV�GR�2EMHWR�UHVSRQVH� O objeto response possui diversas propriedades que afetam as propriedades devolvidas ao navegador. As mais importantes são: ([SLUHV���Representa o tempo antes do conteúdo da página expirar do cache do navegador. Ou seja, se um usuário retornar a uma página dentro de um tempo definido então o cache continuará a usá-lo. Caso contrário a página será solicitada de novo ao servidor. Isto garante que o usuário esteja acessando as informações mais atualizadas. 6LQWD[H��UHVSRQVH�H[SLUHV �QXPHUR����2QGH��O número é o tempo em minutos antes da página expirar. Se for informado zero a página expira imediatamente. ([SLUHV�DEVROXWH� �� � Igual à propriedade anterior só que ao invés de atribuir um tempo em minutos atribui uma data e uma hora específicos. 6LQWD[H��UHVSRQVH�H[SLUHVDEVROXWH> �GDWD��WLPH�@��2QGH��data e time especificam a data e hora na qual a página expirará. Abaixo no exemplo foi solicitado que a página expirasse no dia 7 de setembro de 1990 após as 13:30. ���UHVSRQVH�H[SLUHVDEVROXWH �VHSWHPEHU�������������������!��&RQWHQW�W\SH���Muda o cabeçalho HTTP da página para indicar que tipo de dados a página contém, sendo o padrão ³7H[W�+70/´ 6LQWD[H��UHVSRQVH�FRQWHQWW\SH> FRQWHQW\SH@��2QGH��Content type descreve o tipo de conteúdo no site. ([HPSORV������UHVSRQVH�FRQWHQWW\SH �³WH[W�+70/´��!����UHVSRQVH�FRQWHQWW\SH �³LPDJH�JLI´��!����UHVSRQVH�FRQWHQWW\SH �³LPDJH�MSHJ´��!��6WDWXV���Permite definir o status da linha HTTP que é devolvida ao navegador. Esta linha consiste em um código de status de 3 digitos. 6LQWD[H��UHVSRQVH�VWDWXV� �GHVFULomR�GRV�VWDWXV�

Page 16: Apostila ASP ACR

ACR Informática

Pág - 16

�2QGH��descrição dos status é uma string um código de status de 3 digitos ([HPSORV������UHVSRQVH�VWDXV �³����SDJH�QR�IRXQG´��!����UHVSRQVH�VWDXV �³����XQDXWKRUL]HG�´��!��%XIIHU� ��Controla se o conteúdo gerado pelos scripts ASP será remetido ao navegador aos poucos durante a geração, ou todo de uma vez quando do encerramento da execução. 6LQWD[H��UHVSRQVH�EXIIHU> IODJ@��2QGH��flag pode assumir os seguintes valores: True - 0 servidor não envia as mensagens ao cliente enquanto o script não concluir o processamento e False - sem buffer, o navegador à medida em que processa vai enviando as informações para o cliente. 0pWRGRV�GR�REMHWR�UHVSRQVH� Os Métodos mais comuns são: Addheader, appendtolog, clear, end, flush, redirect e write. $GGKHDGHU� Inclui um cabeçalho HTTP com o endereço especificado. ([HPSOR��� <% response.addheader www.Authenticate, “basic”%> $GGWRORJ� Inclui uma string ao fim do log do servidor para esta requisição. ([HPSOR�� <% response.addtolog string%> &OHDU� Esvazia o buffer. ([HPSOR�� <% response.clear %> (QG�

Page 17: Apostila ASP ACR

ACR Informática

Pág - 17

Encerra o processamento do script quando é atingido este ponto e caso o buffer seja false, o conteúdo gerado pelo script será enviado ao navegador. ([HPSOR��� <% response.end %> )OXVK� Envia imediatamente ao navegador o conteúdo do buffer. ([HPSOR��� <% response.flush %> 5HGLUHFW� Permite redirecionar o usuário para outra URL. Veja abaixo : ([HPSOR��� <% Response.redirect “HTTP://www.outrosite.com.br” %> :ULWH� Escrever mensagens , retornar valor de variáveis e imprimir na tela do browser cliente. �([HPSOR��� <% response.write “ TESTE DE STRING” %> 2EMHWR�VHUYHU� O objeto server fornece métodos e propriedades que permitem interagir com o servidor WEB onde o aplicativo esta sendo executado. 6LQWD[H��6HUYHU�PHWKRG�PpWRGR����0pWRGRV�GR�2EMHWR6HYHU� Os métodos do objeto server são os seguintes: scripttimeout, createobject, htmlencode, mappath (path) e urlencode.

Page 18: Apostila ASP ACR

ACR Informática

Pág - 18

6FULSWWLPHRXW�� �Determina quanto tempo o servidor ficará ativo. Exemplo : <% Server.scripttimeout = 30 %> &UHDWHREHMFW� �Cria um objeto para usar em um script, abrir banco dados, abrir recordsets (para gravação de dados será melhor explicado mais à frente) <% server.createobject(“adodb.connection”) %> +WPOHQFRGH� �Converte os caracteres especias que não podem ser escritos diretamente em páginas HTML. Por exemplo o sinal de > será escrito &gt; <% server.htmlencode(“7 > 5”) %> aparecerá escrito em tela : 7 &agt; 5 ��0DSSDWK� �O caminho usado para requisitar uma página não é sempre o mesmo que o caminho físico da localização das páginas no servidor. Este método converte o caminho requisitado para o caminho físico real presente no servidor. <% server.mappath(“d:\wwwroot\ASP_db\teste.ASP”) %> 8UOHQFRGH� �Converte os caracteres não suportados em URL’s em caracteres permitidos - espaços, backspace e etc... <A href=teste.ASP?text=”<% server.urlencode(“teste de url encode”) %>”>teste</a> <A href=teste.ASP?text=”teste+de+url+encode”>teste</a> 2EMHWR�$SSOLFDWLRQ� O objeto pode ser usado para compartilhar informações entre todos os usuários de um determinado aplicativo. Este aplicativo é composto por todos os arquivos .asp dentro do diretório virtual e seus subdiretórios. Este objeto possui dois métodos, um deles é o método lock e o outro o método unlock. Método Lock = Não permite que outros clientes modifiquem as propriedades do objeto application. Método UnLock = Permite que outros clientes modifiquem as propriedades do objeto application. ([HPSOR����<% application.lock application(“contador”)=application(“contador”)+1 application.unlock %>

Page 19: Apostila ASP ACR

ACR Informática

Pág - 19

abre-se aplicação, adiciona-se um e fecha-se aplicação. Os eventos do objeto application são: application_onstart, application_onend. Estes eventos são declarados dentro de um arquivo global.asa. Um arquivo global.asa é um arquivo que contém declarações gerais com escopo a nível da aplicação. Pode-se ter apenas um arquivo global.asa por aplicação. Veja abaixo um exemplo de arquivo global.asa.

<Script language=vbsrcipt runat=server> ........................................................................................................................................................................................................................................................................................... sub application onstart end ................................................................................................................................................................................................................................................................................................................................................................................................................................................................. application(“data”)=now() ....................................................................................................................................................................................................................................................................................................................................................................................................................application(“aviso”)=”bem vindos a minha home page” ......................................................................................................................................................................................................................................................................................................................... end sub

</script> 2EMHWR�6HVVLRQ� O objeto session é um tipo de variável global que pode ser declarada por uma página e acessada por todo o script de qualquer uma das outras páginas. Por exemplo você declara um valor de subtotal na página carrinho.asp, e a página frete.asp precisa importar o valor desta variável para que possa determinar o total geral através da soma do subtotal (dentro da session) + o valor do frete. ([HUFtFLR�FRP�VHVVLRQ� 'DGRV�KWP� <html> <head><title>exercício com session </title></head> <body> <form action=criasession.asp method=post> <input type=text name=nome><br> <input type=text name=idade><br> <input type=submit value=criar><br> </form> </body> </html> FULDVHVVLRQ�DVS� <html> <head><title>exercício com session </title></head> <body>

Page 20: Apostila ASP ACR

ACR Informática

Pág - 20

<% session(“nome”)=request(“nome”) session(“idade”)=request(“idade”) %> sessions criadas com sucesso ..! <a href=mostrasession.asp>Ver sessions </title> </body> </html> ��0RVWUDVHVVLRQ�DVS� <html> <head><title>exercício com session </title></head> <body> <% nome=session(“nome”) idade=session(“idade”) response.write “ seu nome é :”&nome&”<Br>” response.write “ seu nome é :”&idade&”<Br>” %> </body> </html> �

%DQFR�GH�'DGRV� 2�TXH�p�EDQFR�GH�GDGRV�� Banco de dados é um modo de se guardar informações de forma lógica e ordenada dentro de tabelas e com organização lógica por itens. Por exemplo: podemos ter uma coluna nomes onde seriam colocados somente os nomes das pessoas as quais se quer guardar as informações. Podemos também ter diversas outras colunas. Ex: idade, sexo, endereço, e-mail, etc... 2QGH�XVDU�%DQFR�GH�GDGRV�� Um banco de dados pode ser usado para diversas aplicações em uma página WEB. Ppodemos usá-lo para cadastrar um usuário novo, para cadastrar uma compra de um usuário, podemos registrar uma venda que o site efetuou, podemos gerar um livro de visitas, um banco de dados de nomes e senhas para restringir o acesso a um site ou à uma área de um site, cadastrar produtos disponíveis ao usuário, etc ... &ULDQGR�XP�EDQFR�GH�GDGRV��

Page 21: Apostila ASP ACR

ACR Informática

Pág - 21

Podemos criar um banco de dados em diversos formatos e aplicativos. Podemos usar deste um simples arquivo de texto até uma complexa estrutura em banco de dados Oracle (poderoso sistema de gerenciamento de banco de dados). Vamos começar a criar um banco de dados em uma ferramenta bem simples e fácil de ser usada: abra o Microsoft Access, clique em banco de dados vazio do Microsoft Access, e clique em ok. Em seguida, na tela que surge, você deverá especificar um nome e onde deverá ser salvo este banco de dados. Vá até a pasta inetpub, wwwroot. Crie dentro da sua pasta ao lado da pasta aula1 uma pasta com o nome de dados e salve o banco de dados dentro desta com o nome de clientes. Agora precisamos criar a estrutura do nosso banco dados. Clique em criar tabela no modo de estrutura. Na tela que surge você deverá clicar na primeira linha com a primeira coluna, escreva Código (não use acentuação para prevenir erros). Na segunda coluna procure o item autonumeração. Veja abaixo os outros campos:

Codigo AutoNumeração Nome Texto Endereco Texto Idade Texto Email Texto

Veja abaixo como ficou no Access :

Agora clique no “X” para fechar esta tabela e surgirá uma tela solicitando um nome para esta tabela - digite XVXiULRV. Você será avisado em seguida que não existe uma chave primaria definida. Será necessário definir uma para impedir a duplicação de registros. Basta clicar em sim e pronto. Seu banco de dados já está criado, agora clique duas vezes sobre o nome da tabela usuários. Será aberta uma tela onde você, como teste, irá cadastrar o primeiro usuário. Após esta operação concluída você poderá fechar a tabela usuários e em conjunto com esta pode fechar Access também.

&RQHFWDQGR�%DQFR�GDGRV�YLD�2'%&��� Precisamos conectar o banco ao site para que possamos colher registros, gravar registros, atualizar registros, dentre outras funções. Em primeiro lugar crie uma página HTML com a estrutura básica e salve-a em sua pasta dentro do diretório wwwroot, na pasta inetpub : Veja abaixo o código que deverá conter esta página : �+70/!��KHDG!��WLWOH!8QWLWOHG�'RFXPHQW��WLWOH!�

Page 22: Apostila ASP ACR

ACR Informática

Pág - 22

�PHWD�+773�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�+70/��FKDUVHW LVR��������!���KHDG!���ERG\�EJFRORU ��))))))�!����ERG\!���+70/!�� Agora vamos criar a conexão via ODBC do Windows. Será necessário para isso relacionar o banco de dados no ODBC do Windows. Clique em meu computador, Painel de controle, Fonte de dados ODBC 32 bit´s e surgirá a tela abaixo :

�Clique na alça de seleção 1)'6,67(0$�e clique em adicionar, surgirá a tela abaixo :

Page 23: Apostila ASP ACR

ACR Informática

Pág - 23

Onde você deverá escolher a opção driver do Microsoft Access. Clique em Concluir, surgirá a tela abaixo :

Onde você deverá clicar na área banco de dados botão selecionar. Indique onde está o banco de dados e determine um nome. Clique em OK. Se tudo estiver correto você irá retornar à primeira tela, onde será possível verificar que existe um novo banco relacionado (o seu banco de dados).

Page 24: Apostila ASP ACR

ACR Informática

Pág - 24

Pronto agora já podemos conectar o banco de dados com o seguinte script : �

��� ������ VHW�FQ VHUYHU�FUHDWHREMHFW��DGRGE�FRQQHFWLRQ������ FQ�RSHQ��GVQ FOLHQWHV����� �!���� �+70/!���� �KHDG!���� �WLWOH!8QWLWOHG�'RFXPHQW��WLWOH!���� �PHWD�+773�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�+70/��FKDUVHW LVR��������!���� ��KHDG!�������ERG\�EJFRORU ��))))))�!�

�������ERG\!�������+70/!�

�&RQHFWDQGR�%DQFR�GH�GDGRV�YLD�'ET�'ULYHU���

��� ������ VHW�FQ VHUYHU�FUHDWHREMHFW��DGRGE�FRQQHFWLRQ������ FQVWULQJ ´GULYHU ^0LFURVRIW�$FFHVV�'ULYHU�� �PGE�`�GET ´VHUYHU�PDSSDWK�³FOLHQWHV�PGE´�´�´���� FQ�RSHQ�FQVWULQJ����� �!���� �+70/!���� �KHDG!�

Page 25: Apostila ASP ACR

ACR Informática

Pág - 25

��� �WLWOH!8QWLWOHG�'RFXPHQW��WLWOH!���� �PHWD�+773�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�+70/��FKDUVHW LVR��������!�������KHDG!�

������ERG\�EJFRORU ��))))))�!�

�������ERG\!�������+70/!�

�VLQWD[H������±�abertura de script ASP ��±�criação de um objeto server tipo conexão ��±criaçao de uma Dbq (data base query,consulta de banco de dados). ��± abertura do banco de dados usando uma data base query ��j����±�código HTML comum �&RQHFWDQGR�%DQFR�GH�GDGRV�YLD�0LFURVRIW�-HW2OH'E�� Uma das maiores vantagens de se trabalhar com JetOledb é o fato de não haver necessidade de se relacionar o banco de dados em uso no ODBC do Windows, quando o site for hospedado não será necessário ligar para o seu provedor e solicitar que este relacione o seu banco dados lá. Veja abaixo o código para conectar o banco de dados via jetOledb :

��� ������ VHW�FQ VHUYHU�FUHDWHREMHFW��DGRGE�FRQQHFWLRQ������ FQ�SURYLGHU �PLFURVRIW�MHW�ROHGE��������� FQ�FRQQHFWLRQVWULQJ VHUYHU�PDSSDWK�³FOLHQWHV�PGE������ FQ�RSHQ���� �!���� �+70/!���� �KHDG!���� �WLWOH!8QWLWOHG�'RFXPHQW��WLWOH!������PHWD�+773�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�+70/��FKDUVHW LVR��������!�������KHDG!�

������ERG\�EJFRORU ��))))))�!�

� ������ERG\!�������+70/!�

�VLQWD[H�����±�abertura de script ASP ��±�criação de um objeto server tipo conexão ��±�indicação de tipo de acesso a dados ��±�endereço do banco de dados ��±�abertura do banco de dados ��±�fechamento do banco de dados���j����±�código HTML comum

Page 26: Apostila ASP ACR

ACR Informática

Pág - 26

0RVWUDQGR�RV�UHJLVWURV�GR�EDQFR�GH�GDGRV�HP�WHOD�� Vamos agora mostrar os registros do banco de dados em tela através de um comando SQL do tipo select. No objeto request aplicado ao banco de dados usaremos um comando tipo loop, que serve simplesmente para repetir um instrução até que uma condição seja satisfeita ou até que o loop seja interrompido por algum método. Veja o códogo abaixo :

��� ������ VHW�FQ VHUYHU�FUHDWHREMHFW��DGRGE�FRQQHFWLRQ������ FQ�SURYLGHU �PLFURVRIW�MHW�ROHGE��������� FQ�FRQQHFWLRQVWULQJ �F�?LQHWSXE?ZZZURRW?DSRVWLOD?FOLHQWHV�PGE����� FQ�RSHQ�6. �! ��� �+70/!���� �KHDG!���� �WLWOH!8QWLWOHG�'RFXPHQW��WLWOH!������PHWD�+773�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�+70/��FKDUVHW LVR��������!�������KHDG!�12. �ERG\�EJFRORU ��))))))�! �����������VHW�PRVWUDU VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW�������PRVWUDU�RSHQ��VHOHFW� �IURP�XVXiULRV��FQ������!������WDEOH�ERUGHU �!��������GR�ZKLOH�QRW�PRVWUDU�HRI�!�������WU!������WG!�� PRVWUDU��QRPH���!��WG!������WG!�� PRVWUDU��HQGHUHFR���!��WG!������WG!�� PRVWUDU��LGDGH���!��WG!������WG!�� PRVWUDU��HPDLO���!��WG!�������WU!�������PRVWUDU�PRYHQH[W�!�������ORRS�!�������WDEOH!�������ERG\!�������+70/!�

����VLQWD[H�����j���± Conexão ao banco de dados via oledb ( poderia também ser via ODBC ) ��j����±�código HTML comum ���±�Abertura de script ASP ���±�criação de um objeto server tipo recordset (leitura e gravação) ���±abertura do banco de dados em modo leitura e gravação selecionando todos os registros da tabela usuários(tabela que você criou dentro do banco de dados conectado à página. ���±Fechamento do código ASP

Page 27: Apostila ASP ACR

ACR Informática

Pág - 27

���±$bertura da tabela para exibição em tela dos dados ���±�Comando loop vbscript (será efetuado até atingir o final do arquivo aberto pelo comando SQL tipo select mostrar, observe mostrar.eof (mostrar.end of file) do while not mostar.eof ( repetir enquanto não atingir o final do arquivo). ���±DEHUWXUD�GH�OLQKD�GH�WDEHOD����±�abrindo uma célula,�recuperando o valor nome do banco de dados e fechando a célula. ���±�abrindo uma célula,�recuperando o valor endereço do banco de dados e fechando a célula. ���±�abrindo uma célula,�recuperando o valor idade do banco de dados e fechando a célula. ���±�abrindo uma célula,�recuperando o valor email do banco de dados e fechando a célula. ���±�Passando para o próximo registro do banco de dados, observe : mostar.movenext (objeto mostrar.mover para o próximo). ���±�Comando Loop, este comando faz com o programa retorne a linha do while not mostrar.eof para verificar se a condição já foi satisfeita, caso esta já tenha sido satisfeita deve encerrar o loop e passar para a próxima linha HTML logo após o loop caso não tenha sido satisfeita ainda deverá repetir o loop de novo. ���j����±�código HTML comum encerrando a página. Veja abaixo o banco de dados em Acess :

Veja abaixo o banco de dados na tela do Nvegador :

Veja abaixo o código HTML do arquivo:

Page 28: Apostila ASP ACR

ACR Informática

Pág - 28

Observe no código HTML acima os seguintes aspectos: o nome do seu arquivo foi trocado por um novo nome. Antes o arquivo chamava-se inicial.asp e agora chama-se inicial[1].asp. Isso ocorreu porque a página original foi processada no servidor e deu origem a esta segunda página que não traz em suas linhas de código o script ASP. Onde estão as linhas connection ?, select ?. Estas linhas estão no servidor e não serão nunca enviadas ao browser do usuário. ��64/�

A SQL 6WUXFWXUHG�4XHU\�/DQJXDJH�(linguagem de consulta estruturada), praticamente surgiu com a terceira geração de banco de dados, os 5'%�6 ±�5HODWLRQDO�'DWD�%DVHV�(banco de dados relacionais). Na verdade podemos dizer a SQL é uma linguagem para definir e manipular uma base de dados relacionais. Praticamente todas as estruturas de bancos de dados relacionais suportam SQL. Usaremos as instruções do tipo sql para Microsoft access pois trabalharemos com access. � &RPDQGR�6HOHFW� Retorna um conjunto de registros. Você basicamente só precisa informar dois argumentos: quais campos da tabela a pesquisar e o nome da tabela a pesquisar. Pode-se ainda passar uma condição para consulta (quando se quer buscar valores no banco de dados).

Page 29: Apostila ASP ACR

ACR Informática

Pág - 29

&RPDQGR�VHOHFW�SDUD�VHOHFLRQDU�WRGRV�RV�UHJLVWURV��

���VHW�PRVWUDU VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���PRVWUDU�RSHQ��VHOHFW� �IURP�XVXiULRV��FQ��!� REMHWLYR� selecionar todas as colunas da tabela usuários. &RPDQGR�VHOHFW�SDUD�VHOHFLRQDU�WRGRV�RV�UHJLVWURV�VRPHQWH�GD�FROXQD�LGDGH��� ���VHW�PRVWUDU VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���PRVWUDU�RSHQ��VHOHFW�LGDGH�IURP�XVXiULRV��FQ��!� REMHWLYR� selecionar todos os registros da coluna idade da tabela usuários. &RPDQGR�VHOHFW�SDUD�VHOHFLRQDU�WRGRV�RV�UHJLVWURV�VRPHQWH�GD�FROXQD�LGDGH�RQGH�D�LGDGH�IRU�LJXDO�D������

���VHW�PRVWUDU VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���PRVWUDU�RSHQ��VHOHFW�LGDGH�IURP�XVXiULRV�ZKHUH�LGDGH ����FQ��!� REMHWLYR� selecionar todos os registros da coluna idade onde a idade for igual a 21 anos �&RPDQGR�VHOHFW�SDUD�VHOHFLRQDU�WRGRV�RV�UHJLVWURV�VRPHQWH�GD�WDEHOD�XVXiULRV�RQGH�D�LGDGH�IRU�PDLRU�TXH����DQRV���� ���VHW�PRVWUDU VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���PRVWUDU�RSHQ��VHOHFW� �IURP�XVXiULRV�ZKHUH�LGDGH�!�����FQ��!� REMHWLYR� selecionar todos os registros da tabela usuários onde o usuário cadastrado tiver mais de 20 anos &RPDQGR�VHOHFW�SDUD�VHOHFLRQDU� WRGRV�RV�UHJLVWURV�GD� WDEHOD�XVXiULRV�RQGH�D� LGDGH�IRU�PDLRU�TXH����DQRV��H�R�VH[R�IRU�PDVFXOLQR���� ���VHW�PRVWUDU VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���PRVWUDU�RSHQ��VHOHFW� �IURP�XVXiULRV�ZKHUH�LGDGH�!����DQG�VH[R PDVFXOLQR���FQ�

Page 30: Apostila ASP ACR

ACR Informática

Pág - 30

�!� REMHWLYR� selecionar todos os registros da tabela usuários onde o usuário cadastrado tiver mais de 20 anos e for do sexo masculino

0pWRGRV�/LNH��%HWZHHQ�H�,1� 0HWRGR�/LNH��Usado para selecionar registros de forma ampla. Por exemplo, quando você solicitar que sejam localizados todos os “Paulos” da sua tabela poderá ocorrer de você não saber o nome completo do usuário e não conseguir encontrar um registro sequer. Trabalhando com o método like você solicitaria uma busca pela palavra Paulo e seriam localizados todas as ocorrências do nome no banco de dados independente da posição e letra maiúscula ou minúscula. &RPDQGR�VHOHFW�SDUD�VHOHFLRQDU�WRGRV�RV�UHJLVWURV�GD�WDEHOD�XVXiULRV�RQGH�R�QRPH�GR�XVXiULR�IRU�TXDOTXHU�SDODYUD�0DUFRV�RX�0DUFRV�TXDOTXHU�SDODYUD�� ���VHW�PRVWUDU VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���PRVWUDU�RSHQ��VHOHFW� �IURP�XVXiULRV�ZKHUH�QRPH�OLNH�µ�³�PDUFRV�´�¶����FQ��!� REMHWLYR�� encontrar todos os Marcos do banco de dados, independente de primeiro nome ou sobrenome, sendo maiúsculos ou minúsculos. Ocorrências para o like:

Tipo de ocorrência Padrão da consulta SQL Resultado Múltiplos caracteres b*b Bb,bBb,bccccB Caractere especial b[*]b B*b Múltiplos caracteres Ab* Abcdefg....,abc Caractere único b?b Bbb, b3b, bcb,bzb, b2b Dígito único b#b b0b, b1b, b2b Intervalo de caracteres [b-n] Cdefghijklm Não dígito [!0-9] A,a,%,p

�0pWRGR�EHWZHHQ��permite fazer consultas dentro de uma determinada faixa de valores. Se o objeto encontrado pertence a um dos extremos da faixa de valores este será incluído no conjunto de registros localizados. �

Page 31: Apostila ASP ACR

ACR Informática

Pág - 31

&RPDQGR�VHOHFW�SDUD�VHOHFLRQDU�WRGRV�RV�UHJLVWURV�GD�WDEHOD�XVXiULRV�RQGH�DV�LGDGHV�HVWLYHUHP�HQWUH����H����DQRV� ���VHW�PRVWUDU VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���PRVWUDU�RSHQ��VHOHFW� �IURP�XVXiULRV�ZKHUH�LGDGH�EHWZHHQ�����DQG���´��FQ��!� REMHWLYR��encontrar todos os usuários que estão entre a faixa etária de 18 à 20 anos. 0pWRGR� ,Q��permite fazer uma consulta onde o valor pesquisado coincida entre um dos valores do método IN: &RPDQGR�VHOHFW�SDUD�VHOHFLRQDU�WRGRV�RV�UHJLVWURV�GD�WDEHOD�XVXiULRV�RQGH�RV�XVXiULRV�WLYHUHP�������RX����DQRV� ���VHW�PRVWUDU VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���PRVWUDU�RSHQ��VHOHFW� �IURP�XVXiULRV�ZKHUH�LGDGH�LQ������������´��FQ��!� REMHWLYR��encontrar todos os usuários que tiverem 18, 19 e 21 anos, desprezando os usuários que tiverem idade inferior a 18 anos, desprezando os usuários que tiverem 20 anos e desprezando os usuários que tiverem idade superior a 21 anos. �&RPDQGR�LQVHUW� Comando usado para inserir registros em um banco de dados PRVWUDU�RSHQ��LQVHUW�LQWR�XVXiULRV�LGDGH��YDOXHV��³��´���Será aberta a conexão mostrar e será inserido na coluna idade logo após o ultimo registro como novo registro valor 20. 2XWUR�PpWRGR�LQVHUW� às vezes o comando insert into pode falhar. Temos um comando alternativo da linguagem ADO que pode resolver este pequeno problema. Veja abaixo um exemplo : <% dim cn dim mostra const adOpenKeyset=1 const adLockOptmistic=3 set cn=server.createobject("adodb.connection") cn.provider="microsoft.jet.oledb.4.0" ...................................................................cn.connectionstring="/inetpub/wwwroot/aposila/clientes.mdb" ...................................................................................................................................................... cn.open set mostra=server.createobject("adodb.recordset") mostra.open "select * from usuários where idade = 23",cn, adOpenKeyset, adLockOptmistic

Page 32: Apostila ASP ACR

ACR Informática

Pág - 32

mostra.addnew mostra("idade")=20 mostra.update mostra.close set mostra=nothing Este código acima, em primeira instância, seleciona os registros com idade igual a 23 anos e em seguida troca todos estes valores por 20 anos. &RPDQGR�XSGDWH� Comando usado para atualizar registros de um banco de dados. PRVWUDU�RSHQ��XSGDWH�XVXiULRV�VHW�LGDGH ³��´�ZKHUH�LGDGH� ���´��Será aberta a conexão mostrar e serão atualizados todos os registro onde a idade for igual a 23 anos , fazendo com que estes passem a ser iguais a 20. &RPDQGR�GHOHWH� Comando usado para apagar registros de um banco de dados. PRVWUDU�RSHQ��GHOHWH� �IRUP�XVXiULRV��ZKHUH�LGDGH� ���´��Será aberta a conexão mostrar e serão apagados todos os registros onde a idade for igual a 23 anos. ,QVHULGR�5HJLVWURV�QR�EDQFR�GH�'DGRV�� Vamos criar uma página ASP para inserir registros no banco de dados. Vamos precisar de um formulário endereço - a página insere.asp com os seguintes campos: nome, endereco, idade, e-mail : Veja o código do formulário abaixo: �+70/!��KHDG!��WLWOH!8QWLWOHG�'RFXPHQW��WLWOH!��PHWD�+773�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�+70/��FKDUVHW LVR��������!���KHDG!���ERG\�EJFRORU ���������!��GLY�DOLJQ �FHQWHU�!�����IRUP�DFWLRQ LQVHUH�$63�PHWKRG SRVW!����S!�IRQW�FRORU ��&&))&&�!3UHHQFKD�RV�GDGRV�DEDL[R����IRQW!��S!������WDEOH�ZLGWK ������ERUGHU ����FHOOVSDFLQJ ����FHOOSDGGLQJ ���!��������WU!�����������WG�ZLGWK �����!�IRQW�FRORU ��&&))&&�!1RPH����IRQW!��WG!����������WG�ZLGWK �����!�������������LQSXW�W\SH �WH[W��QDPH �QRPH��VL]H �����PD[OHQJWK ����!�����������WG!�

Page 33: Apostila ASP ACR

ACR Informática

Pág - 33

��������WU!��������WU!�����������WG�ZLGWK �����!�IRQW�FRORU ��&&))&&�!HQGHUHFR����IRQW!��WG!����������WG�ZLGWK �����!�������������LQSXW�W\SH �WH[W��QDPH �HQGHUHFR��VL]H �����PD[OHQJWK ����!�����������WG!���������WU!��������WU!�����������WG�ZLGWK �����!�IRQW�FRORU ��&&))&&�!LGDGH����IRQW!��WG!����������WG�ZLGWK �����!�������������LQSXW�W\SH �WH[W��QDPH �LGDGH��VL]H �����PD[OHQJWK ����!�����������WG!���������WU!��������WU!�����������WG�ZLGWK �����!�IRQW�FRORU ��&&))&&�!(�PDLO����IRQW!��WG!����������WG�ZLGWK �����!�������������LQSXW�W\SH �WH[W��QDPH �H�PDLO��VL]H �����PD[OHQJWK ����!�����������WG!���������WU!�������WDEOH!������S!�EU!��������LQSXW�W\SH �VXEPLW��YDOXH �$WXDOL]DU�%DQFR�GH�GDGRV�!�������S!�������IRUP!������GLY!���ERG\!���+70/!� Veja abaixo o código da página insere.asp : ���VHW�FQ VHUYHU�FUHDWHREMHFW��DGRGE�FRQQHFWLRQ�������FQ�SURYLGHU �PLFURVRIW�MHW�ROHGE���������������������������������������������������������������������FQ�FRQQHFWLRQVWULQJ �F�?LQHWSXE?ZZZURRW?DSRVWLOD?FOLHQWHV�PGE������FQ�RSHQ��VHW�PRVWUD VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���PRVWUD�RSHQ��LQVHUW�LQWR�XVXiULRV�QRPH�HQGHUHFR�LGDGH�HPDLO��YDOXHV��µ�UHTXHVW��QRPH���¶�¶�UHTXHVW��HQGHUHFR���¶�¶�UHTXHVW��LGDGH���¶�¶�UHTXHVW��HPDLO���¶���FQ���!��+70/!��KHDG!��WLWOH!8QWLWOHG�'RFXPHQW��WLWOH!��PHWD�+773�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�+70/��FKDUVHW LVR��������!���KHDG!���ERG\�EJFRORU ��))))))�!��K�!2V�GDGRV�IRUDP�JUDYDGRV�FRP�VXFHVVR�������K�!�

Page 34: Apostila ASP ACR

ACR Informática

Pág - 34

��ERG\!���+70/!� ,QVHULQGR�UHJLVWURV�QD�WDEHOD�YLD�$'2�� ���FRQVW�DG2SHQ.H\VHW ��FRQVW�DG/RFN2SWPLVWLF ���VHW�FQ VHUYHU�FUHDWHREMHFW��DGRGE�FRQQHFWLRQ�������FQ�SURYLGHU �PLFURVRIW�MHW�ROHGE������������������������������������������������������������������������ FQ�FRQQHFWLRQVWULQJ ��LQHWSXE�ZZZURRW�DSRVLOD�FOLHQWHV�PGE�������������������������������������������������������������������������������������������������������������������������������������������������������� FQ�RSHQ��VHW�JUDYD VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���JUDYD�RSHQ��VHOHFW� �IURP�XVXiULRV��FQ��DG2SHQ.H\VHW��DG/RFN2SWPLVWLF��JUDYD�DGGQHZ�JUDYD���QRPH�� UHTXHVW�³QRPH´��JUDYD���HQGHUHFR�� UHTXHVW�³HQGHUHFR´��JUDYD���LGDGH�� UHTXHVW�³LGDGH´��JUDYD���HPDLO�� UHTXHVW�³HPDLO´��JUDYD�XSGDWH�JUDYD�FORVH�VHW�JUDYD QRWKLQJ��!��+70/!��KHDG!��WLWOH!8QWLWOHG�'RFXPHQW��WLWOH!��PHWD�+773�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�+70/��FKDUVHW LVR��������!���KHDG!���ERG\�EJFRORU ��))))))�!��K�!2V�GDGRV�IRUDP�JUDYDGRV�FRP�VXFHVVR�������K�!���ERG\!���+70/!�� $WXDOL]DQGR�RV�GDGRV�GH�XPD�WDEHOD�� Você precisa criar, em primeiro lugar, uma forma do usuário ou cliente localizar dentro do banco de dados o registro ou registros a serem alterados. Você precisa criar um campo de texto, com o nome de variável “nome” e enviar o formulário para a página edita.asp. Página esta que vai possuir o script para atualização do banco de dados: Veja abaixo o código da página que levará o valor a ser buscado para a página edita.asp.

Page 35: Apostila ASP ACR

ACR Informática

Pág - 35

�+70/!��KHDG!��WLWOH!8QWLWOHG�'RFXPHQW��WLWOH!��PHWD�+773�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�+70/��FKDUVHW LVR��������!���KHDG!���ERG\�EJFRORU ���������!��GLY�DOLJQ �FHQWHU�!����S!�IRQW�FRORU ��&&))&&�!%HP�YLQGR�DR�VLWH�GD�QRVVD�HPSUHVD��HVFUHYD�QR�FDPSR��DEDL[R�R�QRPH�GR�XVXiULR�TXH�VHUi�DWXDOL]DGR�QR�EDQFR�GH�GDGRV����IRQW!��S!�����IRUP�QDPH �IRUP���DFWLRQ �HGLWD�$63��PHWKRG �SRVW��!������S!�L!�IRQW�FRORU ��))))���!,QGLTXH�R�QRPH����IRQW!��L!���������LQSXW�W\SH �WH[W��QDPH �FRPSXWDGRU��VL]H �����PD[OHQJWK ����!�������S!������S!���������LQSXW�W\SH �VXEPLW��QDPH �SURFXUD��YDOXH �3URFXUDU�!�������S!���IRUP!����S!QEVS���S!���GLY!���ERG\!���+70/!� Veja agora abaixo a página que traz o UHVXOWDGR�GD�EXVFD e um link que ativa página atualiza.asp. Esta página abre a base de dados e traz o registro para edição. Junto com o link é passado um parâmetro via querystring para que a próxima página consiga identificar qual é o registro a ser editado. O parâmetro passado é o código, pois este é o único campo do banco de dados que é exclusivo para cada registro, ou seja, cada um dos registros possui um código diferente tornando impossível sua duplicação e impedindo que as modificações ocorram em mais de um registro por vez : ���VHW�FQ VHUYHU�FUHDWHREMHFW��DGRGE�FRQQHFWLRQ�������FQ�SURYLGHU �PLFURVRIW�MHW�ROHGE������������������������������������������������������������FQ�FRQQHFWLRQVWULQJ ��LQHWSXE�ZZZURRW�DSRVWLOD�GDGRV�FOLHQWHV�PGE��������������������������������������������������������������������������������������������������������������������������������������������������������� FQ�RSHQ��!��+70/!��KHDG!��WLWOH!8QWLWOHG�'RFXPHQW��WLWOH!��PHWD�+773�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�+70/��FKDUVHW LVR��������!���KHDG!���ERG\�EJFRORU ���������!��S�DOLJQ �FHQWHU�!�LPJ�VUF �WLWXOR�JLI��ZLGWK ������KHLJKW �����!�IRQW�FRORU ��))))))�!�������VHW�DWXDOL]D VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���DWXDOL]D�RSHQ��VHOHFW� �IURP�XVXiULRV�ZKHUH�QRPH�/,.(�����UHTXHVW��QRPH������FQ��!����GR�ZKLOH�QRW�DWXDOL]D�HRI��!���IRQW!���S!��WDEOH!�

Page 36: Apostila ASP ACR

ACR Informática

Pág - 36

���WU!������WG!�IRQW�FRORU ��))))))�!1RPH���� DWXDOL]D��QRPH���!��LGDGH���� DWXDOL]D��LGDGH���!�DQRV��HQGHUHFR���� DWXDOL]D��HQGHUHFR���!��(�PDLO����� DWXDOL]D��HPDLO���!��D�KUHI DWXDOL]D�$63"FRGLJR�� DWXDOL]D��FRGLJR���!!(GLWDU�5HJLVWUR��D!��FHQWHU!��WG!�����WU!���WDEOH!��KU�FRORU UHG!��IRQW�FRORU ��))))))�!��DWXDOL]D�PRYHQH[W�!���ORRS�!���IRQW!����ERG\!���+70/!��Veja abaixo agora o código da página atualiza.asp. Esta página trás o registro selecionado para ser editado e encerra a atualização ativando a página XSGDWH�DVS que é quem atualiza o banco de dados: ���VHW�FQ VHUYHU�FUHDWHREMHFW��DGRGE�FRQQHFWLRQ�������FQ�SURYLGHU �PLFURVRIW�MHW�ROHGE�������������������������������������������������������������FQ�FRQQHFWLRQVWULQJ ��LQHWSXE�ZZZURRW�DSRVWLOD�GDGRV�FOLHQWHV�PGE�������������������������������������������������������������������������������������������������������������������������������������������������������� FQ�RSHQ��!��+70/!��KHDG!��WLWOH!8QWLWOHG�'RFXPHQW��WLWOH!��PHWD�+773�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�+70/��FKDUVHW LVR��������!���KHDG!���ERG\�EJFRORU ���������!��S�DOLJQ �FHQWHU�!�LPJ�VUF �WLWXOR�JLI��ZLGWK ������KHLJKW �����!�IRQW�FRORU ��))))))�!�����VHW�JUDYD VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW����JUDYD�RSHQ��VHOHFW� �IURP�XVXiULRV�ZKHUH�FRGLJR �UHTXHVW�TXHU\VWULQJ��FRGLJR���FQ���!��IRUP�DFWLRQ XSGDWH�$63�PHWKRG SRVW!��FHQWHU!��IRQW�FRORU ZKLWH!�K�!�5HJLVWUR�D�VHU�HGLWDGR����K�!��IRQW!���WDEOH�ZLGWK ���!��WU!�WG�DOLJQ ULJKW!�IRQW�FRORU ZKLWH!&yGLJR����IRQW!��WG!�WG�DOLJQ FHQWHU!�LQSXW�W\SH WH[W�QDPH FRGLJR�YDOXH �� JUDYD��FRGLJR���!!��WG!��WU!��WU!�WG�DOLJQ ULJKW!�IRQW�FRORU ZKLWH!QRPH����IRQW!��WG!�WG�DOLJQ FHQWHU!�LQSXW�W\SH WH[W�QDPH QRPH�YDOXH �� JUDYD��QRPH���!!��WG!��WU!��WU!�WG��DOLJQ ULJKW!�IRQW�FRORU ZKLWH!,GDGH����IRQW!��WG!�WG�DOLJQ FHQWHU!�LQSXW�W\SH WH[W�QDPH LGDGH�YDOXH �� JUDYD��LGDGH���!!��WG!��WU!��WU!�WG��DOLJQ ULJKW!�IRQW�FRORU ZKLWH!(QGHUHoR����IRQW!��WG!�WG�DOLJQ FHQWHU!�LQSXW�W\SH WH[W�QDPH HQGHUHFR�YDOXH �� JUDYD��HQGHUHFR���!!��WG!��WU!��WU!�WG��DOLJQ ULJKW!�IRQW�FRORU ZKLWH!HPDLO����IRQW!��WG!�WG�DOLJQ FHQWHU!�LQSXW�W\SH WH[W�QDPH HPDLO�YDOXH �� JUDYD��HPDLO���!!��WG!��WU!���WDEOH!��S!�

Page 37: Apostila ASP ACR

ACR Informática

Pág - 37

�LQSXW�W\SH VXEPLW�YDOXH �*UDYDU����!���FHQWHU!���IRUP!���ERG\!���+70/!� Veja agora o código da página update.asp. Esta página grava no banco de dados os valores modificados e encerra a atualização com uma mensagem ao usuário: ���VHW�FQ VHUYHU�FUHDWHREMHFW��DGRGE�FRQQHFWLRQ���

FQ�SURYLGHU �PLFURVRIW�MHW�ROHGE������FQ�FRQQHFWLRQVWULQJ ��LQHWSXE�ZZZURRW�DSRVWLOD�GDGRV�FOLHQWHV�PGE��

������������������������������������������������������������������������������������������������������������������������������������������������������ FQ�RSHQ��!��+70/!��KHDG!��WLWOH!8QWLWOHG�'RFXPHQW��WLWOH!��PHWD�+773�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�+70/��FKDUVHW LVR��������!���KHDG!���ERG\�EJFRORU ���������!����VHW�FSX VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���FSX�RSHQ��XSGDWH�XVXiULRV�VHW�QRPH �UHTXHVW��QRPH���¶�LGDGH �UHTXHVW��LGDGH����HQGHUHFR �UHTXHVW��HQGHUHFR´���HPDLO �UHTXHVW��HPDLO�����ZKHUH�FRGLJR �UHTXHVW��FRGLJR���FQ��!���K�!�5HJLVWUR�$WXDOL]DGR�FRP�VXFHVVR�������K�!��S!��KU�FRORU UHG!��D�KUHI LQGH[�KWP!9ROWDU��D!���ERG\!���+70/!�

([FOXLQGR�RV�GDGRV�GH�XPD�WDEHOD�� Você precisa primeiro localizar os registros a serem excluídos. Você deve fazer isso através de um formulário com um campo onde o usuário possa digitar o nome do usuário a ser excluído. Através do formuário você fará uma busca no banco de dados que resultará em uma lista de registros para que se possa escolher qual registro será excluído.

Veja abaixo o código da página que possui um formulário para realizar essa busca. Este formulário será endereçado a uma página apaga.asp responsável pela exclusão do registro. �+70/!��KHDG!�

Page 38: Apostila ASP ACR

ACR Informática

Pág - 38

�WLWOH!8QWLWOHG�'RFXPHQW��WLWOH!��PHWD�+773�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�+70/��FKDUVHW LVR��������!���KHDG!���ERG\�EJFRORU ���������!��GLY�DOLJQ �FHQWHU�!����S!�IRQW�FRORU ��&&))&&�!%HP�YLQGR�DR�VLWH�GD�QRVVD�HPSUHVD��HVFUHYD�QR�FDPSR��DEDL[R�R�QRPH�GR�XVXiULR�TXH�VHUi�DWXDOL]DGR�QR�EDQFR�GH�GDGRV����IRQW!��S!�����IRUP�QDPH �IRUP���DFWLRQ �DSDJD�$63��PHWKRG �SRVW��!������S!�L!�IRQW�FRORU ��))))���!,QGLTXH�R�QRPH����IRQW!��L!���������LQSXW�W\SH �WH[W��QDPH �FRPSXWDGRU��VL]H �����PD[OHQJWK ����!�������S!������S!���������LQSXW�W\SH �VXEPLW��QDPH �SURFXUD��YDOXH �3URFXUDU�!�������S!���IRUP!����S!QEVS���S!���GLY!���ERG\!���+70/!� Veja agora abaixo a página que traz o UHVXOWDGR�GD�EXVFD e que através de um link ativa a página exclui.asp. A página exclui.asp localiza na base de dados o registro para deleção. Junto com o link é passado um parâmetro via querystring para que a próxima página consiga identificar qual é o registro a ser excluído. O parâmetro passado é o código pois é o único campo do banco de dados que é exclusivo para cada usuário, ou seja, cada um dos registros possui um código diferente tornando impossível sua duplicação e impedindo que sejam apagados mais de um registro por vez: ���VHW�FQ VHUYHU�FUHDWHREMHFW��DGRGE�FRQQHFWLRQ�������FQ�SURYLGHU �PLFURVRIW�MHW�ROHGE������������������������������������������������������������FQ�FRQQHFWLRQVWULQJ ��LQHWSXE�ZZZURRW�DSRVWLOD�GDGRV�FOLHQWHV�PGE��������������������������������������������������������������������������������������������������������������������������������������������������������� FQ�RSHQ��!��+70/!��KHDG!��WLWOH!8QWLWOHG�'RFXPHQW��WLWOH!��PHWD�+773�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�+70/��FKDUVHW LVR��������!���KHDG!���ERG\�EJFRORU ���������!��S�DOLJQ �FHQWHU�!�LPJ�VUF �WLWXOR�JLI��ZLGWK ������KHLJKW �����!�IRQW�FRORU ��))))))�!�������VHW�DSDJD VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���DSDJD�RSHQ��VHOHFW� �IURP�XVXiULRV�ZKHUH�QRPH�/,.(�����UHTXHVW��QRPH������FQ��!����GR�ZKLOH�QRW�DWXDOL]D�HRI��!���IRQW!���S!��WDEOH!����WU!�

Page 39: Apostila ASP ACR

ACR Informática

Pág - 39

�����WG!�IRQW�FRORU ��))))))�!1RPH���� DSDJD��QRPH���!��LGDGH���� DSDJD��LGDGH���!�DQRV��HQGHUHFR���� DSDJD��HQGHUHFR���!��(�PDLO����� DSDJD��HPDLO���!��D�KUHI H[FOXL�$63"FyGLJR �� DSDJD��FRGLJR���!!$SDJDU�5HJLVWUR��D!��FHQWHU!��WG!�����WU!���WDEOH!��KU�FRORU UHG!��IRQW�FRORU ��))))))�!��DWXDOL]D�PRYHQH[W�!���ORRS�!���IRQW!����ERG\!���+70/!���Veja abaixo a página que apaga os registros do banco de dados : ����VHW�FQ VHUYHU�FUHDWHREMHFW��DGRGE�FRQQHFWLRQ�������FQ�SURYLGHU �PLFURVRIW�MHW�ROHGE�������������������������������������������������������������FQ�FRQQHFWLRQVWULQJ ��LQHWSXE�ZZZURRW�DSRVWLOD�GDGRV�FOLHQWHV�PGE�������������������������������������������������������������������������������������������������������������������������������������������������������� FQ�RSHQ��!��+70/!��KHDG!��WLWOH!8QWLWOHG�'RFXPHQW��WLWOH!��PHWD�+773�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�+70/��FKDUVHW LVR��������!���KHDG!���ERG\�EJFRORU ���������!��IRQW�FRORU ��))))))�!�������VHW�DSDJD VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���DSDJD�RSHQ ����������������������������GHOHWH� �IURP�PiTXLQD�ZKHUH�FRGLJR �UHTXHVW�TXHU\VWULQJ���FRGLJR����FQ�UHVSRQVH�ZULWH����K�!�IRQW�FRORU ZKLWH!�'$'26�(;&/8,'26�&20�68&(662���IRQW!��K�!����!���D�KUHI LQGH[�KWP!9ROWDU��D!���ERG\!���+70/!� &RQWDQGR�UHJLVWURV�� É um método de contagem de registros. Retorna a quantidade de itens dentro do banco de dados: ���GLP�FQ�UV��FRQVW�DVRSHQNH\VHW� ���VHW�FQ VHUYHU�FUHDWHREMHFW��DGRGE�FRQQHFWLRQ�������FQ�SURYLGHU �PLFURVRIW�MHW�ROHGE�������������������������������������������������������������FQ�FRQQHFWLRQVWULQJ ��LQHWSXE�ZZZURRW�DSRVWLOD�GDGRV�FOLHQWHV�PGE�������������������������������������������������������������������������������������������������������������������������������������������������������� FQ�RSHQ��VHW�UV VHUYHU�FUHDWHREMHFW�³DGRGE�UHFRUGVHW´��

Page 40: Apostila ASP ACR

ACR Informática

Pág - 40

UV�RSHQ��VHOHFW� �IURP�XVXiULRV��FQ��DG2SHQ.H\VHW��FRQWDGRU UV�UHFRUGFRXQW��!��ERG\!��(VWH�UHFRUGVHW�SRVVXL��� FRQWDGRU�!�UHJLVWURV�����ERG\!���+70/! (QYLDQGR�XP�H�PDLO�DR�DGPLQLVWUDGRU�GR�VLWH�� Veja nas linhas abaixo como enviar um e-mail para o administrador do site.Este comando só funciona em Windows NT, &'2176 ( colaborators data objects of Windows NT server). ���VHW�HPDLO VHUYHU�FUHDWHREMHFW�³FGRQWV�QHZ0DLO´��HPDLO�IURP ´GH�RQGH�HVWD�VDLQGR�R�HPDLO#SURYHGRU�FRP´�HPDLO�WR ´SDUD�RQGH�YDL�R�H�PDLO#SURYHGRU�FRP�EU´�HPDLO�VXEMHFW ´DVVXQWR�GR��H��DPLO´�HPDLO�ERG\ ´WH[WR�GD�PHQVDJHP´�VHW�HPDLO QRWKLQJ��!�

Page 41: Apostila ASP ACR

ACR Informática

Pág - 41

Projeto Final

LOJA VIRTUAL 3ODQHMDQGR�XPD�ORMD�YLUWXDO�� Será necessário planejar o sistema da loja virtual antes de começar a desenvolvê-la. Começaremos com a entrada do usuário na página. Após a entrada existirão duas opções: acessar o banco de dados ou iniciar a busca por algum produto disponível. A manutenção do banco de dados só será possível mediante uma senha de acesso. A busca de produtos será feita digitando-se o nome de algum produto. Aparecerá então uma página com o resultado desta busca, onde pode-se escolher algum entre os produtos visíveis em tela. A escolha nos levará ao carrinho de compras de onde pode-se finalizar a compra e/ou retornar à página inicial. .Caso retornemos à página inicial o processo se repete. Na conclusão seremos levados a uma ficha de cadastro onde faremos o preenchimento dos dados pessoais. Após enviar a ficha receberemos em tela uma confirmação de dados e produtos comprados. Na confirmação dos dados e produtos o sistema enviará ao administrador do site um e-mail contendo os dados e produtos para que realização da cobrança e entrega dos produtos.

'LDJUDPD�HP�EORFRV�GR�IXQFLRQDPHQWR�GD�ORMD�YLUWXDO���

/D\�RXW�GD�7HOD�GD�/RMD�9LUWXDO� A loja virtual faz uso de um lay out simples e funcional temos uma pagina de menu, uma pagina de titulo e uma pagina principal que posteriormente tera seu lugar ocupado pela a pagina busca.asp.

Page 42: Apostila ASP ACR

ACR Informática

Pág - 42

�$�SDJLQD�0HQX�DVS�

Esta é uma das principais páginas da loja virtual. Esta pagina é responsavel pela interatividade do usuário com a loja, ou seja, é através dela que o usuário poderá:

• Pesquisar um cd pelo seu titulo • Pesquisar um cd pelo seu status (promoção, top hit’s,lançamentos) • Pesquisar um cd dentro do acervo de cd’s disponivis à venda (listagem por letra inicial) • Verificar suas compras no carrinho • Verificar sua ficha de pedido • Acessar o caixa • Efetuar cadastro • Atualizar e ou efetuar manutenção do banco de dados (restrito por login e senha)

&yGLJR�GD�SiJLQD�PHQX�KWP��

�KWPO!��KHDG!��WLWOH!PHQX��WLWOH!��PHWD�KWWS�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�KWPO��FKDUVHW LVR��������!���KHDG!���ERG\�EJFRORU ��&&&&))�!�

Até este ponto temos a simples estrutura básica da pagina sendo criada ... ���IRUP�PHWKRG �SRVW��DFWLRQ �EXVFD�DVS��WDUJHW �PDLQ)UDPH�!����LQSXW�W\SH �WH[W��QDPH �EXVFD��VL]H ����!�EU!����VHOHFW�QDPH �WLSR�!����RSWLRQ�YDOXH �&'�!&'��RSWLRQ!����RSWLRQ�YDOXH �'9'�!'9'��RSWLRQ!����RSWLRQ�YDOXH �9+6�!9+6��RSWLRQ!�����VHOHFW!�

Page 43: Apostila ASP ACR

ACR Informática

Pág - 43

���LQSXW�W\SH �VXEPLW��YDOXH �EXVFDU�!�����IRUP!�

Nas Linhas acima temos a linha 1 criando um formulário que será enviado a pagina busca.asp, ao ser enviado passará os parametros busca= “texto digitado pelo usuario dentro do campo busca na linha 2” e tipo, opção escolhida pelo usuario no objeto select iniciado à linha 3 e concluido a linha 7� ����WDEOH�ERUGHU ����FHOOVSDFLQJ ����FHOOSDGGLQJ ����ZLGWK �������DOLJQ �FHQWHU�!�

����WU!�WG!�D�KUHI �VWDWXV�DVS"WLSR &'VWDWXV ODQFDPHQWR��WDUJHW �PDLQ)UDPH�!/DQoDPHQWR��D!��WG!��WU!�

����WU!�WG!�D�KUHI �VWDWXV�DVS"WLSR &'VWDWXV SURPRFDR��WDUJHW �PDLQ)UDPH�!3URPRomR��D!��WG!��WU!�����WU!�WG!�D�KUHI �VWDWXV�DVS"WLSR &'VWDWXV WRSKLWV��WDUJHW �PDLQ)UDPH�!7RS�+LWV��D!��WG!��WU!�����WU!�WG!�D�KUHI �DFHUYR�DVS"WLSR &'EXVFD $��WDUJHW �PDLQ)UDPH�!$FHUYR��D!��WG!��WU!�����WU!�WG!�D�KUHI �FDGDVWUR�KWP��WDUJHW �PDLQ)UDPH�!&DGDVWUH�VH��D!��WG!��WU!�����WU!�WG!�D�KUHI �FDUULQKR�DVS��WDUJHW �PDLQ)UDPH�!6XDV�&RPSUDV��D!��WG!��WU!�����WU!�WG!�D�KUHI �HQWUDUFDL[D�KWP��WDUJHW �PDLQ)UDPH�!&RQFOXLU��D!��WG!��WU!�����WU!�WG!�D�KUHI �JHUHQFLD�KWP��WDUJHW �PDLQ)UDPH�!$GPLQLVWUDomR��D!��WG!��WU!������WDEOH!�

Nas linhas 10 a 17 temos o menu de links onde : linha 11 carrega a pagina status.asp no navegador passando os parametros status=lancamento e tipo = cd linha 12 carrega a pagina status.asp no navegador passando os parametros status=promocao e tipo = cd linha 13 carrega a pagina status.asp no navegador passando os parametros status=tophits e tipo = cd linha 14 carrega a pagina acervo.asp no navegador passando os parametros busca e tipo = cd linha 15 carrega a pagina carrinho.asp no navegador linha 16 carrega a pagina entrarcaixa.htm no navegador = cd linha 17 carrega a pagina gerencia.htm no navegador linha 18 carrega a pagina status.asp no navegador passando os parametros satsus=lancamento e tipo = cd� ��ERG\!���KWPO!��3DJLQD�%XVFD�DVS�

Nesta página será realizada uma busca no banco de dados através dos parâmetros passados

pelos campos tipo e busca. Alguns recursos importantes da linguagem nativa serão utilizadas nesta página como, por exemplo: busca sem uso de objeto FRQQHFWLRQ e paginação de UHFRUGVHWV para reduzir o consumo de recursos do servidor.

&yGLJR�GD�SDJLQD�$63��� �KWPO!��KHDG!��WLWOH!%XVFD�GH�3URGXWRV��WLWOH!�

Page 44: Apostila ASP ACR

ACR Informática

Pág - 44

�PHWD�KWWS�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�KWPO��FKDUVHW LVR��������!���KHDG!��ERG\�EJFRORU ��))))))�!�

Até este ponto temos a simples estrutura básica da pagina sendo criada ... �����LQFOXGH�ILOH �$'29%6�,1&����!�

Na linha acima foi carregada junto com o site uma biblioteca de variaveis declaradas ���64/WHPS� � �VHOHFW� � IURP� SURGXWRV� ZKHUH� WLSR� � �� � UHTXHVW�IRUP��WLSR��� �� DQG� WLWXOR� OLNH� ��� �UHTXHVW�IRUP��EXVFD��������

Na linha acima foi criada uma variavel chamada sqltemp que terea quardade dentro de si um comando sql que ira realizar a busca em função dos parametros passados pela pagina menu.htm�

SDJLQD� �UHTXHVW��TXDOSDJLQD���

Nesta linha acima o código vai procurar o conteudo de uma variavel que ainda não foi criada. Será criada a partir do momento que os links tenham sido criados no final deste código tendo um valor real armazenado quando o usuario clicar em algum link (o usuario teria que estar no site) se o usuario acabou de entrar no site vindo da pagina busca.asp o conteudo da variavel sera nulo (vazio). ���LI�SDJLQD� ����WKHQ�

���SDJLQD� ������HQG�LI

As três linhas acima estao checando o conteúdo da variável página. Temos duas possíveis situações aqui, uma : o usuário acaba de entrar na pagina e não clicou ainda em nenhum dos links no final da pagina. Outra : o usuario já estava na pagina e clicou em algum dos links no final da pagina. Na primeira situação temos uma variavel qualpagina nula e com conteudo igual a vazio. Na segunda situacão temos uma variavel pagina valida e com conteudo diferente de vazio. Esta variavel é muito importante pois será atraves dela que o navegador sabera em qual pagina exibir na tela. O teste logico If acima verifica se o conteudo da variavel pagina é vazio e se for vazio armazena o numero 1 dentro desta variavel (para que o navegador possa exibir o conteudo do banco de dados no navegador a partir da pagina 1. WDPDQKRSDJLQD� �UHTXHVW��SDJHVL]H����

LI�WDPDQKRSDJLQD� ����WKHQ�WDPDQKRSDJLQD� ����

HQG�LI�64/� �UHTXHVW��64/TXHU\���

LI�64/� ����WKHQ�64/� �64/WHPS�

HQG�LI�

Page 45: Apostila ASP ACR

ACR Informática

Pág - 45

A situação anterior se repete com as variaveis tamanhopagina e sqlquery. Neste momento o navegador possui conteudo suficiente para efetuar a busca e montar a tela. Caso usuario tenha agora no site a bsuca será efetuada com base no comando sqltemp criado por vc, exibira 10 registros e iniciará na página 1. Caso tenha sido clicado algum link a tela será montada em fnção do link clicado. ���VHW�UVWHPS� �6HUYHU�&UHDWH2EMHFW��$'2'%�5HFRUGVHW���

���UVWHPS�FXUVRUORFDWLRQ� �DGXVHFOLHQW����UVWHPS�FDFKHVL]H� ������UVWHPS�RSHQ�64/��ORMDFG����

Na linha 1 acima temos a abertura de um recordset, na linha 2 foi definido o controle e

responsabilidade pelo cursor de bancode dados, o método adusecliente define o cursor como em modo cliente, será alocada então memoria na maquina do cliente para controle deste cursor. Na linha 3 foi definido de quantos em quantos registros será executada a pesquisa da tabela no banco de dados. Por fim na ultima linha temos a abertura do recordset para seleção dos registros da tabela do data source name “lojacd” que será o nome com o qual será relacionado o banco de dados no ODBC do windows.(Relacione agora o banco de dados para não esquecer depois). ��LI�QRW�UVWHPS�HRI�WKHQ�

��FRQWDGRU� �UVWHPS�UHFRUGFRXQW���UVWHPS�PRYHILUVW���UVWHPS�3DJH6L]H� �WDPDQKRSDJLQD���PD[LPRSDJLQD� �FLQW�UVWHPS�3DJH&RXQW����PD[LPRUHJLVWURV� �FLQW�UVWHPS�3DJH6L]H����UVWHPS�$EVROXWH3DJH� �SDJLQD�

Esta sendo realizado na primeira linha deste trecho do código um teste lógico, será feita a

verificação do conteudo selecionado pelo recordset acima visto no bloco de código anterior. Caso este recordset selecione algum registro a tela será montada. Caso não seja selecionado nenhum registro a tela não será montada e o código será orientado a um comando “else” que esta no final do codigo fonte onde temos uma mensagem ao usuario : “ Registro não localizado ...”

Na linha 2 temos a criação de uma variavel de nome contador que esta armazenando o resultado retornado pelo metodo recordcount (quantidade de registros selecionados). A linha 3 move o cursor de volta ao primeiro registro, usamos um cursor do tipo openkeyset para contar os registros. Para contar os registro o cursor é movido ao final do banco de dados passando uma vez por cada registro efutuando uma contagem e ao terminar de passar por todos os registros fica parado aguardando instruções e extremamente importante fazer-mos com que o cursor volte ao primeiro registro aja visto que ao montarmos a tela queremos que todos os registros sejam exibidos.

A linha 4 através do método pagesize efetua a divisão da quantidade total de registros pela quantidade de registros permitidos por página. Na quinta linha foi criada uma variavel nomeada maximo pagina que tem armazenado em seu interior o resultado obtido pelo metodo pagecount(quantidade de paginas obtidas com a paginação). Note porem que este metodo esta sendo usado dentro da função “cint()” que trata o resultado exibindo somente numeros inteiros maiores que zero. Na linha a seguir (sexta linha) temos uma outra variavel sendo definida nomeada como maximo pagina e armazenando a quantidade maxima de registros aceita por pagina. Ultima linha é sem duvida uma das mais importantes da pagina pois indica qual pagina será exibida agora na tela (a partir de qual registro exibir em tela)

UHJLVWURV� ����‘variavel registros igual a zero.

Page 46: Apostila ASP ACR

ACR Informática

Pág - 46

UHVSRQVH�ZULWH� ��IRQW� IDFH YHUGDQD�VL]H ��FRORU UHG!3DJLQD� ���SDJLQD����GH����PD[LPRSDJLQD�����IRQW!�EU!��� A linha acima imprime na tela a frase “ Pagina DWXDO de TXDQWLGDGH�WRWDO�GH�SDJLQDV�” UHVSRQVH�ZULWH���FHQWHU!�WDEOH�ZLGWK ����!�WU!�� A linha acima cria uma tabela com comprimento de 70 porcento da medida da tela abrindo uma linha em seguida.

'R�8QWLO�UVWHPS�HRI�25�UHJLVWURV�! �PD[LPRUHJLVWURV�� A linha acima repete o bloco de códigos abaixo DWp�TXH� (until) seja atingido o ultimo registro caso tenhamos menos do que 10 registros selecionados ou até que sejam impressos 10 registros em tela. A impressão dos registros é controlada pela variavel registro que inicialmente tem valor igual a zero sendo incrementada a cada “volta” do looping. Quando esta variavel atingir o valor 10 (maximoderegistros) o looping será encerrado finalizando assim a impressão em tela dos registros. UHVSRQVH�ZULWH���WU!�� ‘uma linha de tabela foi criada UHVSRQVH�ZULWH���WG�YDOLJQ WRS!��‘uma coluna foi criada UHVSRQVH�ZULWH���LPJ�VUF� �LPDJHQV����UVWHPS�������ZLGWK� �����KHLJKW� ����!�� Foi impressa a imagem na tela, note que a referencia a coluna foi feita através de números ao invés de nomes como já haviamos usado antes. Isso ocorreu por que desta vez não temos um objeto connection, a seleção foi efetuada e armazenada em um grande Array multidimensional, para navegarmos dentro deste array são necessárias duas referencias: o numero da linha e o numero de colunas. Como em um jogo de batalha naval, o numero de linha é na verdade encontrado de acordo com o registro que esta sendo impresso na tela no momento, ou seja, até que não seja usado o metodo “movenext” estaremos ainda no registro de numero 1, após o uso deste método passaremos ao regitro número dois e na próxima “volta” do looping estaremos no terceiro e assim até que seja impresso o ultimo registro na tela.

Então com base neste conceito precisamos apenas informar o numero da coluna. Que no caso deste banco de dados é a sexta coluna da tabela produtos. Coluna esta que possue informações sobre o nome das imagens. O navegador interpreta a linha acima e ao invés do código coloca na tela a imagem à qual fizemos referenacia no código. Poderiamos também ter armazenado a imagem em um objeto OLE dentro do access mas isso faria com que o banco de dados ocupasse muito espaço em disco e o tornaria extremamente lento. UHVSRQVH�ZULWH����WG!��‘fechamos a coluna da imagem UHVSRQVH�ZULWH���WG�YDOLJQ WRS!��‘abrimos a coluna para imprimir o resto das informações sobre o cd. UHVSRQVH�ZULWH���IRQW�IDFH� �YHUGDQD�VL]H� ��!��UHVSRQVH�ZULWH���E!&RGLJR���E!����UVWHPS�������EU!����‘Será impresso o código do cd UHVSRQVH�ZULWH���E!7LSR���E!����UVWHPS�������EU!���‘Será impresso o Tipo de mídia�UHVSRQVH�ZULWH���E!7LWXOR���E!����UVWHPS�������EU!��‘Será impresso o Titulo do cd�UHVSRQVH�ZULWH���E!*HQHUR���E!����UVWHPS�������EU!��‘Será impresso o genero ao qual pertence o cd�UHVSRQVH�ZULWH���E!6WDWXV���E!����UVWHPS�������EU!��‘Será impresso o status do cd�UHVSRQVH�ZULWH� ��E!3UHoR���E!� �IRQW� FRORU� � UHG!�� � UVWHPS���� � ��D� KUHI FDUULQKR�DVS"FRGLJR ���UVWHPS���� � �!�LPJ� VUF LPJ�LFRQHFDUULQKR�MSJ� ZLGWK ��� KHLJKW ��� DOW &RPSUDU�ERUGHU �!��D!��IRQW!�EU!��

Page 47: Apostila ASP ACR

ACR Informática

Pág - 47

� A linha acima esta carregando a página carrinho.asp passando como parametro o código do cd para que a pagina carrinho consiga inserir os dados do cd no carrinho. �UHVSRQVH�ZULWH����IRQW!��WG!��UHVSRQVH�ZULWH����WU!�WU!�WG�FROVSDQ� ��!�KU�VL]H� ��!��WG!��WU!��UVWHPS�PRYHQH[W�UHJLVWURV� �UHJLVWURV�����/RRS�UHVSRQVH�ZULWH����WDEOH!��FHQWHU!�S!��UVWHPS�FORVH�VHW�UVWHPS� �QRWKLQJ��!�� As linhas acima são responsaveis pelo fechamento da celula que usamos para relacionar os dados do cd Usadas tambem para abertura e fechamento de uma linha com uma celula que ocupa duas colunas onde é inserida um linha horizontal com o intuito de separar o cd impresso agora do seguinte. Temos na na seguencia um comando que faz com o interpretador da linguagem descarregue o regsitro atual da memoria e carregue o seguinte.

O incremento da variavel registros é feito para que possamos ter a certeza de que o loop que vimos acima consiga imprimir apenas 10 ceds na tela.

O comando loop ira fazer com o imterpretador volte a linha do looping para que possa-se imprimir o próximo cd na tela este processo será repetido até que o imterpretador do looping Do Until torne verdadeira a condição que encerra o looping. Para finalizar fechamos o recordset e descarregamos da memória para que a próxima tela seja impressa com os cd seguintes (“ É necessário limpar um recordset para que este possa receber novos valores, caso não limpo trará consigo os valores da página anterior repetindo o mesmo código na tela ao invés do novo”) �S!QEVS���S!��S!�IRQW�IDFH �9HUGDQD��VL]H ���!&OLTXH�QR�Q~PHUR�GD�SiJLQD�TXH�GHVHMD�YLVXDOL]DU������SDG� �����VFULSWQDPH� �UHTXHVW�VHUYHUYDULDEOHV��VFULSWBQDPH���IRU�FRXQWHU� ���WR�PD[LPRSDJLQD�LI�FRXQWHU�! ����WKHQ�SDG� ����(QG�LI�UHI� ��D�KUHI ���VFULSWQDPH�UHI� �UHI���"TXDOSDJLQD ��FRXQWHU�UHI� �UHI���SDJHVL]H ���WDPDQKRSDJLQD�UHI� �UHI���VTO4XHU\ ���VHUYHU�85/HQFRGH�64/��UHI� �UHI���!���SDG��FRXQWHU�����D!��UHVSRQVH�ZULWH�UHI������QH[W��!��E!�EU!�1~PHUR�WRWDO�GH�UHJLVWUR���� FRQWDGRU�!��E!���IRQW!���S!����HOVH��!��

Page 48: Apostila ASP ACR

ACR Informática

Pág - 48

�GLY�DOLJQ �FHQWHU�!�IRQW�IDFH �9HUGDQD��VL]H ����FRORU ��))�����!5HJLVWUR�QmR����HQFRQWUDGR����IRQW!���GLY!���HQG�LI�!���ERG\!���KWPO!�� Este ultimo bloco de codigos é responsavel pela impressao do links da paginação efetuada em tela, em primeira instancia é declarada um variavel pad que é igual a zero em formato string (note que o zero esta entre “”) o que indica que não sera usada para calculos em seguida é declarada uma variavel scriptname que é usada para armazenar o nome da pagina que esta sendo processada (“busca.asp”).

Temos um looping do tipo for que irá repetir uma operação até que seja impresso o link pra ultima pagina criada pelo recordset.

Dentro deste looping temos o codigo que fará a impressão do link em tela note que temos um expressão condicional dentro deste looping (“ se counter > que 10 , pad= ”” ) . Esta condicional esta informando ao intrerpretador da linguagem que se counter (“variavel usada no looping for para contar a impressao dos links”) for maior que 10 a variavel pad será igual igual a nulo. A variavel pad tem um único papel no codigo ela é usada para imprimir o Zero antes dos link de numero inferior a 10. Após o termino do codigo do looping será impresso na tela a quantidade total de registros que havia sido armazenada dentro da variavel contador. ��3DJLQD�FDUULQKR�DVS�

Nesta página será efetuado o calculo somatorio dos cds comprados pelo usuario. O usuario tera

total controle sobre sua compra podendo colocar ou retirar cds do carrinho ou ainda recalcular a pagina trocando o a quantidade de um determinado cd ou cds.

�&yGLJR�GD�SDJLQD�$63���

Quando usuario coloca um cd no carrinhoesta pagina precisa saber se é o primeiro cd de uma nova venda ou se é um cd a mais em um venda em andamento. Além disso precisa checar se a venda já não foi concluida, para isso criamos ao novo usuario um numero que identifica sua venda. Este numero será armazenado dentro de uma session conhecida como FRGLJRGHVWDYHQGD. Toda vez que o usuario entrar no carrinho será verificado as condições de sua venda. Caso necessario será criada uma nova venda caso não necessário será retomada a anterior em andamento para conclusão da compra. �����VHW�FQ� �VHUYHU�&UHDWH2EMHFW��DGRGE�FRQQHFWLRQ���FQ�RSHQ��GVQ /RMDFG��� O código acima é responsavel pela conexão com o banco de dados que neste caso esta sendo feita pelo metodo odbc. VHW�YHQGD� �VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���SHGLGR� �UHTXHVW�FRRNLHV��DVSFG����FRGLJRSHGLGR����

Page 49: Apostila ASP ACR

ACR Informática

Pág - 49

Nas linhas acima foi criado um recordset com nome de venda e foi criado uma variavel pedido cujo para preencher o valor da variavel foi requisitado um cookie que pode ou não exisitir na maquina (caso exista teremos uma venda em andamento caso não será criada uma nova venda.) �LI�SHGLGR��!����WKHQ�� YHQGD�RSHQ��VHOHFW� �IURP�YHQGDV�ZKHUH�FRGLJRYHQGD� ���SHGLGR��FQ�� � LI�YHQGD�HRI�WKHQ�� � � SHGLGR� ����� �

O bloco de códigos acima é um expressão condicional que esta testando o conteudo da variavel pedido, caso pedido seja diferente de nulo (venda em andamento). Será aberto o recordset criado para localização da venda na tebela vendas, a linha seguinte esta checando se a venda foi localizada na tabela e caso não tenha sido localizada o pedido imediatamante será igual a nulo. Caso a venda seja encontrada continua-se o código. O código abaixo esta checando se o campo opcaopgmt é diferente de nulo, caso este seja diferente de nulo o pedido será igal a nulo tendo visto que este campo só será preenchido na ultima pagina da loja virtual quando a venda estver concluida. Este campo preenchido indica que a venda foi encerrada e sendo não temos como continuar com ela.

Caso o campo opcaopgmt seja vazio retoma-se o numero da venda para continuar o precessamento do código. �� � HOVH�� � � LI�YHQGD��RSFDRSJPW����!����WKHQ�� � � � SHGLGR� ����� � � HOVH�� � � � VHVVLRQ��FRGLJRGHVWDYHQGD��� �SHGLGR�� � � HQG�LI�� � HQG�LI�� � � YHQGD�FORVH�HQG�LI�� Na seguencia de código abaixo estamos trabalhando com a possibilidade de o pedido ser igual a nulo, ou a venda não foi iniciada ainda (primeiro cd dentro do carrinho) ou não conseguiu satisfazer algumadas condicionais do código acima. �� LI�SHGLGR� ����WKHQ�� � YHQGD�RSHQ���VHOHFW�PD[�FRGLJRYHQGD��DV�PDLRUFRGLJR�IURP�YHQGDV���FQ�� LI�QRW�YHQGD�HRI�WKHQ�� � �VHVVLRQ��FRGLJRGHVWDYHQGD��� �YHQGD��PDLRUFRGLJR������ HOVH�� � �VHVVLRQ��FRGLJRGHVWDYHQGD��� ���� HQG�LI�� Na seguencia de abaixo estamos atualizando a tabela vendas(estamos criando a venda) e tambem estamos criando o cookie que a pagina carrinho.asp procura pra preecher a variavel pedido no inicio do código, na linha seguinte estamos informando ao explorer quanto tempo o cookie deverá existir criado na maquina (no caso data de hoje mais 5 dias). �FQ�H[HFXWH���LQVHUW�LQWR�YHQGDV�FRGLJRYHQGD��YDOXHV���VHVVLRQ��FRGLJRGHVWDYHQGD�������UHVSRQVH�FRRNLHV��DVSFG����FRGLJRSHGLGR��� �VHVVLRQ��FRGLJRGHVWDYHQGD���UHVSRQVH�FRRNLHV��DVSFG���H[SLUHV� �GDWH�����

Page 50: Apostila ASP ACR

ACR Informática

Pág - 50

HQG�LI��!���KWPO!��KHDG!��WLWOH!&DUULQKR�GH�&RPSUDV��WLWOH!��PHWD�KWWS�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�KWPO��FKDUVHW LVR��������!���KHDG!���ERG\�EJFRORU ��))))))�!��IRUP�DFWLRQ FDUULQKR�DVS�PHWKRG SRVW!��WDEOH�ZLGWK �������ERUGHU ����FHOOVSDFLQJ ����FHOOSDGGLQJ ���!���WU�EJFRORU ������))�!��

�WG�FROVSDQ ����KHLJKW ����!����GLY�DOLJQ �FHQWHU�!�E!�IRQW�FRORU ��))))))�!&2035$6��IRQW!��E!��IRQW!��GLY!�

��WG!���WU!����WU!��

�WG�FROVSDQ ���!QEVS���WG!���WU!��WU!��

�WG�FROVSDQ ���!QEVS���WG!���WU!��WU�EJFRORU ������))�!��

�WG!���FHQWHU!��IRQW�FRORU ��))))))��IDFH 9HUGDQD�VL]H �!�E!&RDFXWH�GLJR����E!��IRQW!���FHQWHU!�

��WG!��WG!��

�GLY�DOLJQ �FHQWHU�!��IRQW�FRORU ��))))))��IDFH �9HUGDQD��VL]H ���!�E!7LWXOR���E!��IRQW!���GLY!�

��WG!��WG�ZLGWK �����!��

�FHQWHU!��IRQW�FRORU ��))))))��IDFH �9HUGDQD��VL]H ���!�E!3UHFFHGLO�R�EU!�8QLWDDFXWH�ULR����IRQW!���E!�����FHQWHU!�

��WG!��WG!��

�GLY�DOLJQ �FHQWHU�!��IRQW�FRORU ��))))))��IDFH �9HUGDQD��VL]H ���!�E!4XDQWLGDGH���IRQW!��E!���GLY!�

��������WG!��������WG�FROVSDQ ���!��

�FHQWHU!��IRQW�FRORU ��))))))��IDFH �9HUGDQD��VL]H ���!�E!7RWDO����E!��IRQW!��

Page 51: Apostila ASP ACR

ACR Informática

Pág - 51

��FHQWHU!���WG!�

��WU!�����VHW�YHQGLGR� �VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���� Na linha acima estamos criando um recordset chamado vanedido onde serão colocados todos os cds comprados pelo usuario. �

LI�UHTXHVW�TXHU\VWULQJ��FRGLJR���!����WKHQ��Na linha acima estamos fazendo um teste lógico para verificar se a query string que foi originada

pela pagina busca.asp é diferente de vazia. Caso seja diferente de vazia segue-se com o código abrindo o recordset vendido e localizando o cd escolhido pelo usuario na tabela itens de uma venda. Este processo esta sendo realizado por que o novo cd só será inserido na tabela se não existir um outro igual já dentro da tabela.

�YHQGLGR�RSHQ��VHOHFW� �IURP�LWHQVGHXPDYHQGD�ZKHUH�FRGLJRYHQGD� ��B�VHVVLRQ��FRGLJRGHVWDYHQGD����DQG�FRGLJRFG� ���UHTXHVW�TXHU\VWULQJ��FRGLJR�����FQ�

��LI�YHQGLGR�HRI�WKHQ�

FQ�H[HFXWH��LQVHUW�LQWR�LWHQVGHXPDYHQGD�FRGLJRYHQGD�FRGLJRFG�TXDQWLGDGH��YDOXHV����B��VHVVLRQ��FRGLJRGHVWDYHQGD��������UHTXHVW�TXHU\VWULQJ��FRGLJR�����������

���HQG�LI��

YHQGLGR�FORVH��

HQG�LI�� A seguir temos a rotina responsavel pelo recalculo da tela, toda vez que o usuario entrar no carrinho ou apertar o botao recalcular teremos o recalculo da pagina. (ao se apertar recalcular a pagina carrinho sera enviada para carinho.asp, ou seja será reprocessada). Os unicos elementos de formulario que temos na tela são os 3 botoes ao final da pagina e os campos quantidade. Os campos quantidade tem como nome de variavel o numero do código do cd como poderá ser visto mais abaixo. Como será processado o recalculo ?. O recalculo será processado de uma forma bem simples, os cds comprados pelo usuario serão excluidos da tabela LWHQVGHXPDYHQGD e serão incluidos novamente com base nas informações fornecidas pelo usuario antes de apertar o botão recalcular. Vamos imaginar a seguinte situação, um usuario compra um cd de sua cantora predileta, só que resolve dar um cd igual de presente a um amigo. Então o que ele faz, ele troca o numero um por dois no campo quantidade e aperta recalcular. Os cds serão excluidos da tabela para que possam ser re-incluidos na tabela com os novos valores com base no que o usuario digitou no campo quantidade. �

LI�UHTXHVW�IRUP��!����WKHQ��A linha acima esta testando se o conteudo dos campos quantidade de cada cd do formulario é

diferente de vazio e caso sejam diferente de vazio serão apagados da tabela todos os cds pertencentes a este usuario.

FQ�H[HFXWH��GHOHWH� �IURP�LWHQVGHXPDYHQGD�ZKHUH�FRGLJRYHQGD� ���B�VHVVLRQ��FRGLJRGHVWDYHQGD����

Page 52: Apostila ASP ACR

ACR Informática

Pág - 52

�A linha abaixo é responsavel pela inserção dos registros de novo na tabela, o comando for each

esta realizando uma rotina de looping, a linhas entre o for each e o next serão executadas uma vez para cada campo de formulario que estiver na memoria (ou seja uma vez para cada cd) ������IRU�HDFK�ILHOGBQDPH�LQ�UHTXHVW�IRUP�

LI�ILHOGBQDPH��!��%���DQG�UHTXHVW�IRUP�ILHOGBQDPH��!����WKHQ��

A linha acima esta testando se o nome da variavel é diferente de B1 e ao mesmo tempo tem conteudo diferente de zero. É feito o teste de B1 porque B1 é um botão do tipo submit e o valor que traz consigo é “recalcular” e o teste do zero é feito por que o zero esta sendo usado para tirar um cd do carrinho sendo assim se o valor do campo for igual a zero o cd não será recolocado dentro do carrinho. FQ�H[HFXWH��LQVHUW�LQWR�LWHQVGHXPDYHQGD�FRGLJRYHQGD�FRGLJRFG�TXDQWLGDGH��YDOXHV����B�

VHVVLRQ��FRGLJRGHVWDYHQGD�������ILHOGBQDPH�������UHTXHVW�IRUP�ILHOGBQDPH�������HQG�LI�

�������QH[W��

HQG�LI��VXEWRWDO� ���� Na linha acima estamos declarando uma variavel chamada subtotal que é igual a zero, nas linhas abaixo estamos criando um recordset produto que será usado mais tarde e estamos abrindo o recordset vendido que traz armazenado dentro de si o resultado de uma busca de todos os cds comprados pelo usuario para que possamos começar a montar a tela. �VHW�SURGXWR� �VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���� YHQGLGR�RSHQ��VHOHFW� �IURP�LWHQVGHXPDYHQGD�ZKHUH�FRGLJRYHQGD� ���B�

VHVVLRQ��FRGLJRGHVWDYHQGD���FQ��LI�QRW�YHQGLGR�HRI�WKHQ�µVH�YHQGLGR�QmR�IRU�YD]LR�HQWmR�YHQGLGR�PRYHILUVW�µYROWH�DR�SULPHLUR�UHJLVWUR�GR�ZKLOH�QRW�YHQGLGR�HRI�� A linha acima esta iniciando uma rotina de looping que repetira as linhas abaixo até que seja impresso na tela o utlimo cd selecionado pelo recordset vendido. �!���WU�EJFRORU ��&&&&))�!��

�WG!��GLY�DOLJQ �ULJKW�!��E!�L!�IRQW�IDFH �9HUGDQD��VL]H ����FRORU ���������!�� YHQGLGR��FRGLJRFG���!���IRQW!��L!��E!���GLY!�

��WG!��A linha acima imprime na tela o codigo do cd na tela.

Page 53: Apostila ASP ACR

ACR Informática

Pág - 53

���SURGXWR�RSHQ��VHOHFW� �IURP�SURGXWRV�ZKHUH�FRGLJR ��YHQGLGR��FRGLJRFG������FQ��!���

A linha acima abre o recordset produto e seleciona na tabela produtos o cd que esta sendo impresso na tela para que se possa ter acesso a todas informações sobre o cd tais como : nome, valor, origem etc ...Não vamos usar só o recordset vendido que vinha em uso para imprimir os cds comprados na tela por que esta só traz na memória a tabela itens de uma venda que possui apenas os campos código da venda, o código do cd e a quantidade de cd’s comprados. �

�WG!��E!�L!�IRQW�IDFH �9HUGDQD��VL]H ����FRORU ���������!�� SURGXWR��WLWXOR���!���IRQW!��L!��E!�

��WG!� A linha acima imprime na tela o titulo do cd na tela. ��WG�ZLGWK �����!��

�GLY�DOLJQ �ULJKW�!��E!�L!��IRQW�IDFH �9HUGDQD��VL]H ����FRORU ���������!�� IRUPDWFXUUHQF\�SURGXWR��SUHFR����!���IRQW!��L!��E!���GLY!�

��WG!��A linha acima imprime na tela o valor unitario do cd na tela. ���WG!��

�GLY�DOLJQ �ULJKW�!��IRQW�IDFH �9HUGDQD��VL]H ����FRORU ���������!�E!�L!��

�LQSXW�W\SH WH[W�QDPH ��� YHQGLGR��FRGLJRFG���!��VL]H ��YDOXH ��� YHQGLGR��TXDQWLGDGH���!�!���L!��E!���IRQW!���GLY!�

��WG!��

A linha acima imprime na tela a quantidade de cd’s comprados dentro de um campo de formulario para que o usuario possa modifica-los para recalcular a pagina.��

�WG�FROVSDQ ���!���GLY�DOLJQ �ULJKW�!��IRQW�IDFH �9HUGDQD��VL]H ����FRORU ���������!�E!�L!��� IRUPDWFXUUHQF\�YHQGLGR��TXDQWLGDGH�� SURGXWR��SUHFR����!��L!��E!���IRQW!��GLY!�

��WG!��

A linha acima imprime na tela o total parcial que resultado de uma multiplicação do valor do cd pela quantidade de cd’s comprados.��

Page 54: Apostila ASP ACR

ACR Informática

Pág - 54

��WU!�����VXEWRWDO� �VXEWRWDO����YHQGLGR��TXDQWLGDGH��� �SURGXWR��SUHFR����SURGXWR�FORVH�YHQGLGR�PRYHQH[W�ORRS�� Cada vez que o interpretador passar pela rotina acima durante o looping a variavel subtotal que era igual a zero sofrera o incremento do resultado da multiplicação do valor unitario do cd pela quantidade comprada, crando assim um total geral que será exibido ao usuario nas linhas abaixo. �VHVVLRQ��VXEWRWDO��� �VXEWRWDO�� Na linha acima foi criada uma session subtotal que deverá armazenar o conteúdo do subtotal para que não seja necessário repetir-se a rotina na pagina seguinte para chegar ao mesmo valor. FQ�H[HFXWH��XSGDWH�YHQGDV�VHW�YDORUYHQGD� �FGEO����IRUPDWQXPEHU�VXEWRWDO������ZKHUH�FRGLJRYHQGD� ��B�VHVVLRQ��FRGLJRGHVWDYHQGD����!��� Na linha acima foi feita uma atualização na tabela vendas, foi gravado o valor final da venda sem o acréscimo do frete na coluna vendas. ��WU�EJFRORU ������))�!��

�WG�FROVSDQ ���!���GLY�DOLJQ �ULJKW�!��IRQW�IDFH �9HUGDQD���VL]H ����FRORU ��))))))�!�E!6XEWRWDO���IRQW!��E!��IRQW!���GLY!�

��WG!��WG�FROVSDQ ����ZLGWK �����!��

��GLY�DOLJQ �ULJKW�!��E!�L!�

�IRQW�FRORU ��))))))��IDFH �9HUGDQD�VL]H ���!�� IRUPDWFXUUHQF\�VHVVLRQ��VXEWRWDO����!���L!��E!��IRQW!���GLY!�

��WG!� Na linha acima foi impresso na tela o valor final da venda que esta armazenado na session subtotal. ���WU!��WU!��

�WG�FROVSDQ ���!��IRQW�FRORU ����������IDFH �9HUGDQD��VL]H ���!�3DUD�H[FOXLU�DOJXP�LWHP�PXGH�VXD�TXDQWLGDGH�SDUD���H�FOLTXH�HP�UHFDOFXODU���IRQW!�

��WG!���WU!��

Page 55: Apostila ASP ACR

ACR Informática

Pág - 55

�WU!���WG�FROVSDQ ���!�

�IRQW�FRORU ����������IDFH �9HUGDQD��VL]H ���!�3DUD�PXGDU��D�TXDQWLGDGH�GH�DOJXP�LWHP�GLJLWH�D�QRYD�TXDQWLGDGH�H�FOLTXH�HP�UHFDOFXODU���IRQW!�

��WG!���WU!����WDEOH!���HQG�LI�!���WDEOH�ZLGWK �������ERUGHU ����FHOOVSDFLQJ ����FHOOSDGGLQJ ���!��WU�EJFRORU ������))��YDOLJQ �PLGGOH�!��

�WG!�IRQW�IDFH �9HUGDQD��VL]H ���!��IRQW!��WG!��WG!�IRQW�IDFH �9HUGDQD��VL]H ���!QEVS���IRQW!��WG!��WG!�IRQW�IDFH �9HUGDQD��VL]H ���!��IRQW!��WG!�

��WU!��WU�EJFRORU ��&&&&))��YDOLJQ �PLGGOH�!��

�WG�KHLJKW ����!���FHQWHU!��LQSXW�W\SH �VXEPLW��QDPH �%���YDOXH �5HFDOFXODU�!��QEVS�����FHQWHU!�

��WG!��WG!��

�FHQWHU!��LQSXW�W\SH �EXWWRQ��QDPH �%XWWRQ��YDOXH �&RQWLQXDU��RQ&OLFN �ZLQGRZ�ORFDWLRQ� �

VWDWXV�DVS"WLSR &'VWDWXV WRSKLWV�!���FHQWHU!�

��WG!��WG!��

��FHQWHU!���LQSXW�W\SH �EXWWRQ��QDPH �6XEPLW���YDOXH �&RQFOXLU��

RQ&OLFN �ZLQGRZ�ORFDWLRQ HQWUDUFDL[D�KWP�!��QEVS�����FHQWHU!�

��WG!����WU!���WU�EJFRORU ����������YDOLJQ �PLGGOH�!��

�WG�EJFRORU ������))�!�IRQW�IDFH �9HUGDQD��VL]H ���!QEVS���IRQW!��WG!��WG�EJFRORU ������))�!�IRQW�IDFH �9HUGDQD��VL]H ���!��IRQW!��WG!��WG�EJFRORU ������))�!�IRQW�IDFH �9HUGDQD��VL]H ���!��IRQW!��WG!�

��WU!����WDEOH!���IRUP!���ERG\!���KWPO!�

Page 56: Apostila ASP ACR

ACR Informática

Pág - 56

�(QWUD�FDL[D�DVS�

A pagina entracaixa.asp vem em seguida pagina entracaixa.htm, a pagina entracaixa.htm nada mais é do que um formulário com os campos e-mail e senha que será enviado para a pagina entracaixa.asp que irá fazer a validação do login e a abertura da ficha de pedido do cliente na tela.

���VHW�FQ� �VHUYHU�FUHDWHREMHFW��DGRGE�FRQQHFWLRQ���FQ�RSHQ��GVQ ORMDFG���!��

Nas linhas acima temos somente a conexão ao banco de dados. �KWPO!���KHDG!��WLWOH!&DL[D��WLWOH!���KHDG!��ERG\�EJFRORU ��))))))�!����VHW�ORJDU� �VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���VHW�YHQGD� �VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW����Nas linhas acima temos a criação de dois objetos do tipo recordset que serão usados para

selecionar o usuário na tabela cadastro e os produtos do usuário na tabela itens de uma venda como pode ser visto nas linhas que seguem abaixo: YHQGD�RSHQ� �VHOHFW� � IURP� LWHQVGHXPDYHQGD� ZKHUH� FRGLJRYHQGD� ��VHVVLRQ��FRGLJRGHVWDYHQGD���FQ�

ORJDU�RSHQ� �VHOHFW� � IURP�FDGDVWUR�ZKHUH�VHQKD� � ��� UHTXHVW��VHQKD���� ��DQG� �HPDLO� � ���UHTXHVW��HPDLO�������FQ�

Na linha abaixo temos um teste lógico sendo realizado, esta sendo verificado se o recordset

logar trouxe algum registro selecionado. A tradução da linha abaixo seria “ se logar não vazio então” e a tela será montada caso o recordset seja vazio ao invez de se montar a tela o interpretador do código será conduzido a um else no final do código que ira´apresentar um mensagem ao usuario. �

LI�QRW�ORJDU�HRI�WKHQ��!���IRUP�PHWKRG �SRVW��DFWLRQ �FRQILUPD�DVS�!����WDEOH�ZLGWK �������ERUGHU ����FHOOVSDFLQJ ����FHOOSDGGLQJ ���!��WU�EJFRORU ��))))))�!���WG�FROVSDQ ����KHLJKW ����!���GLY�DOLJQ �FHQWHU�!�IRQW�FRORU ����������VL]H ����IDFH �9HUGDQD�!�E!�IRQW�

FRORU ������))�!),&+$��'(�3(','2��IRQW!��E!��IRQW!��GLY!���WG!���WU!��WU!���WG�FROVSDQ ���!�IRQW�IDFH �9HUGDQD�!��IRQW!��WG!�

Page 57: Apostila ASP ACR

ACR Informática

Pág - 57

��WU!��WU�EJFRORU ������))�!���WG!���FHQWHU!��IRQW�FRORU ��))))))�!�E!�IRQW�IDFH �9HUGDQD��VL]H ���!&2DFXWH�',*2��IRQW!��E!��IRQW!����FHQWHU!���WG!��WG!���GLY�DOLJQ �FHQWHU�!�IRQW�FRORU ��))))))�!�E!�IRQW�IDFH �9HUGDQD��

VL]H ���!7,78/2��IRQW!��E!��IRQW!��GLY!���WG!��WG�ZLGWK �����!���FHQWHU!��IRQW�FRORU ��))))))�!�E!�IRQW�IDFH �9HUGDQD��VL]H ���!35(&FHGLO�2��IRQW!��E!��IRQW!����FHQWHU!���WG!��WG!���GLY�DOLJQ �FHQWHU�!�IRQW�FRORU ��))))))�!�E!�IRQW�IDFH �9HUGDQD��

VL]H ���!48$17,'$'(��IRQW!��E!��IRQW!��GLY!���WG!��WG�FROVSDQ ���!���FHQWHU!��IRQW�FRORU ��))))))�!�E!�IRQW�IDFH �9HUGDQD��VL]H ���!727$/��IRQW!��E!��IRQW!����FHQWHU!���WG!���WU!����GR�ZKLOH�QRW�YHQGD�HRI��

A linha acima é uma rotina de looping fará com que todo o código abaixo até a expressão loop seja repetido até que seja satisfeita sua condição que é imprimir o ultimo registro selecionado na tela. Já na linha abaixo temos a criação e abertura de um recordset chamado produto este será usado para localizar o produto na tabela produstos, pois com o recordset venda temos acesso a tabela LWHQVGHXPDYHQGD�que possui os campos código venda, código cd e quantidade. Faltam informações para que se possa construir a tela como por exemplo nome do cd, preço, origem e etc... �

VHW�SURGXWR� �VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���SURGXWR�RSHQ��VHOHFW� �IURP�SURGXWRV�ZKHUH�FRGLJR ���YHQGD��FRGLJRFG�������FQ��!��A partir deste ponto temos a contrução da tela que o usuário irá ver quando entrar nesta página. ���WU�EJFRORU ��&&&&))�!���WG!���GLY�DOLJQ �ULJKW�!�IRQW�IDFH �9HUGDQD��VL]H ����

FRORU ���������!�� YHQGD��FRGLJRFG���!��IRQW!��GLY!���WG!��Na linha acima temos a impressão do código do cd na tela. �

Page 58: Apostila ASP ACR

ACR Informática

Pág - 58

�WG!�IRQW�IDFH �9HUGDQD��VL]H ����FRORU ���������!�� SURGXWR��WLWXOR���!��IRQW!��WG!��Na linha acima temos a impressão do nome do cd na tela.���WG�ZLGWK �����!���GLY�DOLJQ �ULJKW�!�IRQW�IDFH �9HUGDQD��VL]H ����

FRORU ���������!�� IRUPDWFXUUHQF\�SURGXWR��SUHFR����!��IRQW!��GLY!���WG!��Na linha acima temos a impressão do valor do cd na tela.� �WG!���GLY�DOLJQ �ULJKW�!��IRQW�IDFH �9HUGDQD��VL]H ����FRORU ���������!�

�� YHQGD��TXDQWLGDGH���!��IRQW!��GLY!���WG!��Na linha acima temos a impressão da quantidade do cd na tela. ��WG�FROVSDQ ���!���GLY�DOLJQ �ULJKW�!�IRQW�IDFH �9HUGDQD��VL]H ����

FRORU ���������!�� IRUPDWFXUUHQF\�YHQGD��TXDQWLGDGH�� SURGXWR��SUHFR����!��IRQW!��GLY!���WG!��Na linha acima temos a impressão da quantidade multiplicada pelo valor do cd na tela. ���WU!����SURGXWR�FORVH�YHQGD�PRYHQH[W�ORRS��!��Na linha acima temos o fechamento do recordset produto, o interpretador irá avançar ao

próximo registro selecionado e por fim temos o comando loop que fará com as linhas acima sejam repetidas para a impressão do registro selecionado na tela desde que não seja o final do arquivo. �

�WU�EJFRORU ������))�!���WG�FROVSDQ ���!���GLY�DOLJQ �ULJKW�!�IRQW�IDFH �9HUGDQD�!�E!�IRQW�VL]H ����

FRORU ��))))))�!68%727$/���IRQW!��E!��IRQW!��GLY!���WG!��WG�FROVSDQ ���!���GLY�DOLJQ �ULJKW�!�IRQW�FRORU �))))))�!�E!�IRQW�IDFH �9HUGDQD��

VL]H ���!�L!�� IRUPDWFXUUHQF\�VHVVLRQ��VXEWRWDO����!��L!��IRQW!��E!��IRQW!��GLY!���WG!��Na linha acima foi resgatado e impresso em tela o valor de uma session que foi criada na pagina

carrinho.asp.����WU!�

Page 59: Apostila ASP ACR

ACR Informática

Pág - 59

�WU�EJFRORU ������))�!���WG�FROVSDQ ���!���GLY�DOLJQ �ULJKW�!�E!�IRQW�IDFH �9HUGDQD��VL]H ����

FRORU ��))))))�!)5(7(���IRQW!��E!��GLY!���WG!��WG�FROVSDQ ����ZLGWK �����!���GLY�DOLJQ �ULJKW�!�IRQW�FRORU �))))))�!�E!�IRQW�VL]H ����IDFH �9HUGDQD�!����VHW�IUHWH� �VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���IUHWH�RSHQ��VHOHFW� �IURP�HVWDGR�ZKHUH�HVWDGR�OLNH���ORJDU��HVWDGR������FQ�UHVSRQVH�ZULWH�IRUPDWFXUUHQF\�IUHWH��IUHWH����VHVVLRQ��IUHWH�� IUHWH��IUHWH����Nas linhas acima temos a rotina que vai calcular o frete para entrega do produto. Na primeira

linha criamos um recodsetset chamado frete. Na segunda linha estamos fazendo uma selação na tabela estado com base no estado que o ususario informou ao se cadastrar na loja virtual (o recordset logar tem todas as informações sobre o usuário.). Na terceira linha temos a impressão do valor do frete na tela e na ultima linha temos a criação de uma session com o valor do frete para que não seja necessário clacular este de novo. �

�!���IRQW!���E!��IRQW!��GLY!���WG!���WU!��WU�EJFRORU ������))�!���WG�FROVSDQ ���!���GLY�DOLJQ �ULJKW�!�E!�IRQW�IDFH �9HUGDQD��VL]H ����

FRORU ��))))))�!727$/���IRQW!��E!��GLY!���WG!��WG�FROVSDQ ����ZLGWK �����!���GLY�DOLJQ �ULJKW�!�IRQW�VL]H ����IDFH �9HUGDQD��FRORU ��))))))�!�E!������Temos a seguir o calculo do total geral, ou seja o total gasto mais o valor do frete, foi novamente

resgatado o valor da session subtotal que foi criada na pagina carrinho.asp, esta foi armazenada na variável D. Na linha seguinte temos a soma de D(subtotal) mais o valor do frete. A seguir temos a impressão de D na tela. E finalizando a rotina temos a criação de uma session chamada de geral armazenando o valor de D para que não seja necessário refazer este calculo de novamente mais tarde.

�D� �VHVVLRQ��VXEWRWDO����D� �D���IUHWH��IUHWH���UHVSRQVH�ZULWH�IRUPDWFXUUHQF\�D��VHVVLRQ�³JHUDO´� D��!���E!��IRQW!��GLY!���WG!���WU!���WDEOH!��WDEOH�ZLGWK �������ERUGHU ����FHOOVSDFLQJ ����FHOOSDGGLQJ ���!��WU!���WG�ZLGWK ������EJFRORU ������))�!��IRQW�VL]H ����FRORU ��))))))�!�E!�IRQW�

IDFH �9HUGDQD�!1RPH���IRQW!����E!��IRQW!��WG!�

Page 60: Apostila ASP ACR

ACR Informática

Pág - 60

�WG�EJFRORU ��&&&&))�!�IRQW�IDFH �9HUGDQD��VL]H ���!�� ORJDU��QRPH���!���LQSXW�W\SH KLGGHQ�QDPH �QRPH��YDOXH ��� ORJDU��QRPH���!�!���IRQW!��WG!���WU!��Na linha acima temos a impressão do nome na tela e a criação de um campo oculto contendo o

mesmo valor para que não seja necessário conectar-se a tabela cadastro na próxima tela.���WU!���WG�ZLGWK ������EJFRORU ������))�!��IRQW�VL]H ����FRORU ��))))))�!�E!�IRQW�

IDFH �9HUGDQD�!&SI�����IRQW!���E!��IRQW!��WG!��WG�EJFRORU ��&&&&))�!�IRQW�IDFH �9HUGDQD��VL]H ���!�� ORJDU��FSI���!���LQSXW�W\SH KLGGHQ�QDPH �FSI��YDOXH ��� ORJDU��FSI���!�!���IRQW!��WG!���WU!��Na linha acima temos a impressão do cpf na tela e a criação de um campo oculto contendo o

mesmo valor para que não seja necessário conectar-se a tabela cadastro na próxima tela.���WU!���WG�EJFRORU ������))��ZLGWK �����!��IRQW�VL]H ����FRORU ��))))))�!�E!�IRQW�

IDFH �9HUGDQD�!5J�����IRQW!���E!��IRQW!��WG!��WG�EJFRORU ��&&&&))�!�IRQW�IDFH �9HUGDQD��VL]H ���!�� ORJDU��UJ���!���LQSXW�W\SH KLGGHQ�QDPH �UJ��YDOXH ��� ORJDU��UJ���!�!���IRQW!��WG!���WU!��Na linha acima temos a impressão do rg na tela e a criação de um campo oculto contendo o

mesmo valor para que não seja necessário conectar-se a tabela cadastro na próxima tela.���WU!���WG�ZLGWK ������EJFRORU ������))�!�IRQW�VL]H ����FRORU ��))))))�!�E!�IRQW�

IDFH �9HUGDQD�!2UJDWLOGH�R��(PLVVRU���IRQW!��E!��IRQW!��WG!��WG�EJFRORU ��&&&&))�!�IRQW�IDFH �9HUGDQD��VL]H ���!�� ORJDU��RUJDRHPLVVRU���!���LQSXW�W\SH KLGGHQ�QDPH �RUJDRHPLVVRU��YDOXH ��� ORJDU��RUJDRHPLVVRU���!�!���IRQW!��WG!���WU!��Na linha acima temos a impressão do órgão emissor na tela e a criação de um campo oculto

contendo o mesmo valor para que não seja necessário conectar-se a tabela cadastro na próxima tela.���WU!���WG�ZLGWK ������EJFRORU ������))�!��IRQW�VL]H ����FRORU ��))))))�!�E!�IRQW�

IDFH �9HUGDQD�!(QGHUHFFHGLO�R�����IRQW!���E!��IRQW!��WG!��WG�EJFRORU ��&&&&))�!�IRQW�IDFH �9HUGDQD��VL]H ���!�� ORJDU��HQGHUHFR���!���LQSXW�W\SH KLGGHQ�QDPH �HQGHUHFR��YDOXH ��� ORJDU��HQGHUHFR���!�!�

Page 61: Apostila ASP ACR

ACR Informática

Pág - 61

��IRQW!��WG!���WU!��Na linha acima temos a impressão do endereço na tela e a criação de um campo oculto

contendo o mesmo valor para que não seja necessário conectar-se a tabela cadastro na próxima tela.���WU!���WG�ZLGWK ������EJFRORU ������))�!��IRQW�VL]H ����FRORU ��))))))�!�E!�IRQW�

IDFH �9HUGDQD�!%DLUUR�����IRQW!���E!��IRQW!��WG!��WG�EJFRORU ��&&&&))�!�IRQW�IDFH �9HUGDQD��VL]H ���!�� ORJDU��EDLUUR���!���LQSXW�W\SH KLGGHQ�QDPH �EDLUUR��YDOXH ��� ORJDU��EDLUUR���!�!���IRQW!��WG!���WU!��Na linha acima temos a impressão do bairro na tela e a criação de um campo oculto contendo o

mesmo valor para que não seja necessário conectar-se a tabela cadastro na próxima tela.���WU!���WG�ZLGWK ������EJFRORU ������))�!�IRQW�VL]H ����FRORU ��))))))�!�E!�IRQW�

IDFH �9HUGDQD�!&HS������IRQW!��E!��IRQW!��WG!��WG�EJFRORU ��&&&&))�!�IRQW�IDFH �9HUGDQD��VL]H ���!�� ORJDU��FHS���!���LQSXW�W\SH KLGGHQ�QDPH �FHS��YDOXH ��� ORJDU��FHS���!�!���IRQW!��WG!���WU!��Na linha acima temos a impressão do cep na tela e a criação de um campo oculto contendo o

mesmo valor para que não seja necessário conectar-se a tabela cadastro na próxima tela.���WU!���WG�ZLGWK ������EJFRORU ������))�!��IRQW�VL]H ����FRORU ��))))))�!�E!�IRQW�

IDFH �9HUGDQD�!&LGDGH�����IRQW!���E!��IRQW!��WG!��WG�EJFRORU ��&&&&))�!�IRQW�IDFH �9HUGDQD��VL]H ���!�� ORJDU��FLGDGH���!���LQSXW�W\SH KLGGHQ�QDPH �FLGDGH��YDOXH ��� ORJDU��FLGDGH���!�!���IRQW!��WG!���WU!��Na linha acima temos a impressão da cidade na tela e a criação de um campo oculto contendo o

mesmo valor para que não seja necessário conectar-se a tabela cadastro na próxima tela.���WU!���WG�ZLGWK ������EJFRORU ������))�!��IRQW�VL]H ����FRORU ��))))))�!�E!�IRQW�

IDFH �9HUGDQD�!(VWDGR�����IRQW!���E!��IRQW!��WG!��WG�EJFRORU ��&&&&))�!�IRQW�IDFH �9HUGDQD��VL]H ���!�� ORJDU��HVWDGR���!���LQSXW�W\SH KLGGHQ�QDPH �HVWDGR��YDOXH ��� ORJDU��HVWDGR���!�!���IRQW!��WG!���WU!�

Page 62: Apostila ASP ACR

ACR Informática

Pág - 62

�Na linha acima temos a impressão do estado na tela e a criação de um campo oculto contendo o

mesmo valor para que não seja necessário conectar-se a tabela cadastro na próxima tela.���WU!���WG�ZLGWK ������EJFRORU ������))�!��IRQW�VL]H ����FRORU ��))))))�!�E!�IRQW�

IDFH �9HUGDQD�!3DLDFXWH�V�����IRQW!���E!��IRQW!��WG!��WG�EJFRORU ��&&&&))�!�IRQW�IDFH �9HUGDQD��VL]H ���!�� ORJDU��SDLV���!���LQSXW�W\SH KLGGHQ�QDPH �SDLV��YDOXH ��� ORJDU��SDLV���!�!���IRQW!��WG!���WU!��Na linha acima temos a impressão do país na tela e a criação de um campo oculto contendo o

mesmo valor para que não seja necessário conectar-se a tabela cadastro na próxima tela.���WU!���������WG�ZLGWK ������EJFRORU ������))��KHLJKW ����!��IRQW�VL]H ����FRORU ��))))))�!�E!�IRQW�

IDFH �9HUGDQD�!7HOHIRQH���IRQW!������������E!��IRQW!��WG!��������WG�EJFRORU ��&&&&))��KHLJKW ����!�IRQW�IDFH �9HUGDQD��

VL]H ���!�� ORJDU��WHOHIRQH���!�����������LQSXW�W\SH KLGGHQ�QDPH �WHOHIRQH��YDOXH ��� ORJDU��WHOHIRQH���!�!���IRQW!��WG!���WU!��Na linha acima temos a impressão do telefone na tela e a criação de um campo oculto contendo

o mesmo valor para que não seja necessário conectar-se a tabela cadastro na próxima tela.���WU!���WG�ZLGWK ������EJFRORU ������))�!��IRQW�VL]H ����FRORU ��))))))�!�E!�IRQW�

IDFH �9HUGDQD�!)D[�����IRQW!���E!��IRQW!��WG!��WG�EJFRORU ��&&&&))�!�IRQW�IDFH �9HUGDQD��VL]H ���!�� ORJDU��ID[���!���LQSXW�W\SH KLGGHQ�QDPH �ID[��YDOXH ��� ORJDU��ID[���!�!���IRQW!��WG!���WU!��Na linha acima temos a impressão do fax na tela e a criação de um campo oculto contendo o

mesmo valor para que não seja necessário conectar-se a tabela cadastro na próxima tela.���WU!���WG�ZLGWK ������EJFRORU ������))��KHLJKW ����!��IRQW�FRORU ��))))))�!�E!�IRQW�VL]H ����

IDFH �9HUGDQD�!(�PDLO������IRQW!��E!��IRQW!��WG!��WG�EJFRORU ��&&&&))��KHLJKW ����!�IRQW�IDFH �9HUGDQD��VL]H ���!�� ORJDU��HPDLO���!���LQSXW�W\SH KLGGHQ�QDPH �HPDLO��YDOXH ��� ORJDU��HPDLO���!�!���IRQW!��WG!���WU!��

Page 63: Apostila ASP ACR

ACR Informática

Pág - 63

Na linha acima temos a impressão do e-mail na tela e a criação de um campo oculto contendo o mesmo valor para que não seja necessário conectar-se a tabela cadastro na próxima tela.��

�WU!���WG�ZLGWK ����EJFRORU ������))��KHLJKW �����YDOLJQ �WRS�!�IRQW�FRORU ��))))))�!�E!�IRQW�

IDFH �9HUGDQD��VL]H ���!(QGHUHFFHGLO�R��SDUD�HQWUHJD���IRQW!��E!��IRQW!��WG!��WG�EJFRORU ��&&&&))�!���S!��IRQW�IDFH �9HUGDQD��VL]H ���!���LQSXW�W\SH �UDGLR��QDPH �HQWUHJD��YDOXH �PHVPR�HQGHUHFFHGLO�R�!�PHVPR�HQGHUHFFHGLO�R���LQSXW�W\SH �UDGLR��QDPH �HQWUHJD��YDOXH �RXWUR�HQGHUHFFHGLO�R�!�RXWUR�HQGHUHFFHGLO�R��IRQW!��S!��WDEOH�ZLGWK �������ERUGHU ����FHOOVSDFLQJ ����FHOOSDGGLQJ ���!��WU!���WG!�IRQW�IDFH �9HUGDQD��VL]H ���!1RPH���IRQW!��WG!��WG!��IRQW�IDFH �9HUGDQD��VL]H ���!���LQSXW�W\SH �WH[W��QDPH �QRPHHQWUHJD��VL]H ����!���IRQW!��WG!���WU!��WU!���WG!�IRQW�IDFH �9HUGDQD��VL]H ���!(QGHUHFFHGLO�R���IRQW!��WG!��WG!��IRQW�IDFH �9HUGDQD��VL]H ���!���LQSXW�W\SH �WH[W��QDPH �HQGHUHFRHQWUHJD��VL]H ����!���IRQW!��WG!���WU!��WU!���WG!�IRQW�IDFH �9HUGDQD��VL]H ���!%DLUUR���IRQW!��WG!��WG!��IRQW�IDFH �9HUGDQD��VL]H ���!���LQSXW�W\SH �WH[W��QDPH �EDLUURHQWUHJD��VL]H ����!���IRQW!��WG!���WU!��WU!���WG!�IRQW�IDFH �9HUGDQD��VL]H ���!&LGDGH���IRQW!��WG!��WG!��IRQW�IDFH �9HUGDQD��VL]H ���!���LQSXW�W\SH �WH[W��QDPH �FLGDGHHQWUHJD��VL]H ����!���IRQW!��WG!���WU!��WU!���WG!�IRQW�IDFH �9HUGDQD��VL]H ���!(VWDGR���IRQW!��WG!��WG!��IRQW�IDFH �9HUGDQD��VL]H ���!���LQSXW�W\SH �WH[W��QDPH �HVWDGRHQWUHJD��VL]H ����PD[OHQJWK ���!���IRQW!��WG!���WU!��WU!���WG!�IRQW�IDFH �9HUGDQD��VL]H ���!&(3���IRQW!��WG!��WG!��IRQW�IDFH �9HUGDQD��VL]H ���!���LQSXW�W\SH �WH[W��QDPH �FHSHQWUHJD��VL]H ����PD[OHQJWK ���!���IRQW!��WG!���WU!�

Page 64: Apostila ASP ACR

ACR Informática

Pág - 64

��WDEOH!���WG!���WU!��WU!���WG�ZLGWK ����EJFRORU ������))��KHLJKW �����YDOLJQ �WRS�!�IRQW�FRORU ��))))))�!�E!�IRQW�

IDFH �9HUGDQD��VL]H ���!)RUPD��GH�SDJDPHQWR���IRQW!��E!��IRQW!��WG!��WG�EJFRORU ��&&&&))�!���WDEOH�ZLGWK �������ERUGHU ����FHOOVSDFLQJ ����FHOOSDGGLQJ ���!��WU!���WG!���FHQWHU!��E!�IRQW�IDFH �9HUGDQD�!�IRQW�IDFH �9HUGDQD�!�IRQW�VL]H ���!��IRQW!��IRQW!��IRQW!��E!����FHQWHU!���WG!��WG!���FHQWHU!��IRQW�IDFH �9HUGDQD��VL]H ���!�E!�%DQFR���E!���IRQW!���FHQWHU!���WG!��WG!���FHQWHU!��IRQW�IDFH �9HUGDQD��VL]H ���!�E!�$JHFLUF�QFLD���E!���IRQW!����FHQWHU!���WG!��WG!���FHQWHU!��IRQW�IDFH �9HUGDQD��VL]H ���!�E!�&RQWD���E!���IRQW!����FHQWHU!���WG!��WG!���FHQWHU!��IRQW�IDFH �9HUGDQD��VL]H ���!�E!�1RPLQDO���E!���IRQW!����FHQWHU!���WG!���WU!��WU!���WG!��IRQW�IDFH �9HUGDQD��VL]H ���!���LQSXW�W\SH �UDGLR��QDPH �SDJDPHQWR��YDOXH �'HSRDFXWH�VLWR�QR�,WDXDFXWH��!���IRQW!��WG!��WG!�IRQW�IDFH �9HUGDQD��VL]H ���!,WDXDFXWH���IRQW!��WG!��WG!�IRQW�IDFH �9HUGDQD��VL]H ���![[[[��IRQW!��WG!��WG!�IRQW�IDFH �9HUGDQD��VL]H ���![[[[[�[��IRQW!��WG!��WG!�IRQW�IDFH �9HUGDQD��VL]H ���!$63�&'V�21�/,1(��IRQW!��WG!���WU!��WU!���WG!��IRQW�IDFH �9HUGDQD��VL]H ���!���LQSXW�W\SH �UDGLR��QDPH �SDJDPHQWR��YDOXH �'HSRDFXWH�VLWR�QR�%UDGHVFR�!���IRQW!��WG!��WG!�IRQW�IDFH �9HUGDQD��VL]H ���!%UDGHVFR��IRQW!��WG!�

Page 65: Apostila ASP ACR

ACR Informática

Pág - 65

�WG!�IRQW�IDFH �9HUGDQD��VL]H ���![[[�[��IRQW!��WG!��WG!�IRQW�IDFH �9HUGDQD��VL]H ���![[[[[�[��IRQW!��WG!��WG!�IRQW�IDFH �9HUGDQD��VL]H ���!$63�&'V�21�/,1(��IRQW!��WG!���WU!��WU!���WG!��IRQW�IDFH �9HUGDQD��VL]H ���!���LQSXW�W\SH �UDGLR��QDPH �SDJDPHQWR��YDOXH �'HSRDFXWH�VLWR�QR�6DQWDQGHU�!���IRQW!��WG!��WG!�IRQW�IDFH �9HUGDQD��VL]H ���!6DQWDQGHU��IRQW!��WG!��WG!�IRQW�IDFH �9HUGDQD��VL]H ���![[[��IRQW!��WG!��WG!�IRQW�IDFH �9HUGDQD��VL]H ���![[[[[[�[[��IRQW!��WG!��WG!�IRQW�IDFH �9HUGDQD��VL]H ���!$63�&'V�21�/,1(��IRQW!��WG!���WU!��WU!���WG�FROVSDQ ���!��IRQW�IDFH �9HUGDQD��VL]H ���!��IRQW�VL]H ���!���LQSXW�W\SH �UDGLR��QDPH �SDJDPHQWR��YDOXH �&DUWDWLOGH�R��FKHFNHG!��E!�IRQW�FRORU ���������!&DUWDWLOGH�R����VHOHFW�QDPH �FDUWDR�!��RSWLRQ�YDOXH �&5(',&$5'�!&5(',&$5'��RSWLRQ!��RSWLRQ�YDOXH �0$67(5&$5'�!0$67(5&$5'��RSWLRQ!��RSWLRQ�YDOXH �',1(56�!',1(56��RSWLRQ!��RSWLRQ�YDOXH �9,6$�!9,6$��RSWLRQ!��RSWLRQ�YDOXH �$0(;�!$0(;��RSWLRQ!���VHOHFW!�1RUGP����LQSXW�W\SH �WH[W��QDPH �QXPFDUWDR��VL]H �����PD[OHQJWK ����!��EU!�QEVS�QEVS�QEVS�QEVS�QEVS�QEVS�QEVS�QEVS�9DOLGDGH����LQSXW�W\SH �WH[W��QDPH �YDOLGDGH��YDOXH ����������VL]H ����PD[OHQJWK ���!�&3)�GR�7LWXODU����LQSXW�W\SH �WH[W��QDPH �FSIWL��VL]H ����!���IRQW!��E!��IRQW!���IRQW!��WG!���WU!���WDEOH!���WG!���WU!���WDEOH!��FHQWHU!��EU!��LQSXW�W\SH �VXEPLW��QDPH �FRQILUPDU��YDOXH �&RQILUPDU�3HGLGR�!���FHQWHU!���IRUP!����HOVH��UHVSRQVH�ZULWH����FHQWHU!�K�!�2V�'DGRV�1mR�FRQIHUHP�RX�YRFr�DLQGD�QmR�HVWD�FDGDVWUDGR�

�����K�!�S!�D�KUHI FDGDVWUR�KWP!&DGDVWUDU�DJRUD��D!��FHQWHU!���HQG�LI��Nas linhas acima temos o “HOVH´�que esta ligado com o “se logar não vazio do começo do

código”.

Page 66: Apostila ASP ACR

ACR Informática

Pág - 66

��!����ERG\!���KWPO!���

&RQILUPD�DVS� Nesta página o usuário confirma sua compra e finaliza seu pedido enviando um e-mail ao administrador da loja virtual. ���VHW�FQ� �VHUYHU�&UHDWH2EMHFW��DGRGE�FRQQHFWLRQ���FQ�RSHQ��GVQ ORMDFG���Nas linhas acima foi criada uma conexão ao banco de dados. �VHW�YHQGD� �VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���YHQGD�RSHQ��VHOHFW� �IURP�LWHQVGHXPDYHQGD�ZKHUH�FRGLJRYHQGD� ��VHVVLRQ��FRGLJRGHVWDYHQGD���FQ��

Nestas linhas foi criado um recordset chamado venda e foram selecionados todos os cds comprados pelo usuario na tabela itens de uma venda. �VHW�SDJDPHQWR VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���SDJDPHQWR�RSHQ��XSGDWH�YHQGDV�VHW�RSFDRSJPW FDUWDR�ZKHUH�FRGLJRYHQGD �VHVVLRQ��FRGLJRGHVWDYHQGD���FQ�� Nas linhas acima foi criado um recordset chamado pagamento que devera atualizar a tabela vendas preenchendo o campo opcaopgmt ( se este campo for preenchido a venda será dada por encerrada pelo sistema lembre-se do carrinho.asp) �'LP�VWU�� Foi declarada uma variável chamada de str. Nas linhas que seguem abaixo vamos preencher esta variável str com o conteúdo que será enviado como corpo do e-mail ao administrador do site. �VWU� �� �3(','2� ���FKU������FKU������ Acrescenta ao corpo do e-mail o valor entre “” e cada chr(10) representa uma quebra de linha. �GR�ZKLOH�QRW�YHQGD�HRI��

Na linha acima temos a rotina de looping que irá repetir as linhas abaixo como já foi visto antes na pagina que estudamos anteriormente. VHW�SURGXWR� �VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���SURGXWR�RSHQ��VHOHFW� �IURP�SURGXWRV�ZKHUH�FRGLJR� ��YHQGD��FRGLJRFG�����FQ�� Foi criado e aberto um recordset chamdo produto para que se possa buscar as informações que faltam sobre os cds para montar o corpo do e-mail corretamente.

Page 67: Apostila ASP ACR

ACR Informática

Pág - 67

�VWU� �VWU���&yGLJR����YHQGD��FRGLJRFG���������FKU������Foi acrescentado ao corpo do e-mail o código do cd. �VWU� �VWU���3URG�����SURGXWR��WLWXOR���������FKU������Foi acrescentado ao corpo do e-mail o titulo do cd. VWU� �VWU���3UHoR�8QLW�����IRUPDWFXUUHQF\�SURGXWR��SUHFR����������FKU������Foi acrescentado ao corpo do e-mail o valor do cd.�VWU� �VWU���4XDQW�����YHQGD��TXDQWLGDGH���������FKU������Foi acrescentado ao corpo do e-mail a quantidade de cds comprados.��VWU� �VWU���7RWDO�8QLW�����IRUPDWFXUUHQF\�YHQGD��TXDQWLGDGH��� �SURGXWR��SUHFR���������FKU������FKU������Foi acrescentado ao corpo do e-mail o resultado da multiplicação do valor do cd pela quantidade de cd´s comprados gerando assim o total.��SURGXWR�FORVH�YHQGD�PRYHQH[W�ORRS��

Foi fechado o recordset produto, o interpretador foi conduzido ao próximo registro e o comando looping fez com que o interpretador volta-se ao inicio do looping para repetir as linhas acima desde que não esteja no final do arquivo( após ultimo registro) �VWU� �VWU���6XEWRWDO�����IRUPDWFXUUHQF\�VHVVLRQ��VXEWRWDO����������FKU������ Foi resgatado e impresso em tela o valor da session subtotal. �VWU� �VWU���)UHWH���IRUPDWFXUUHQF\�VHVVLRQ��IUHWH������� Foi resgatado e impresso em tela o valor da session frete.��VWU� �VWU��FKU�������7RWDO�*HUDO���IRUPDWFXUUHQF\�VHVVLRQ��IUHWH������FKU������ Foi resgatado e impresso em tela o valor da session geral.���VWU� �VWU��FKU������FKU������� �'$'26�'2�&/,(17(� ���FKU������FKU������ Acrescenta ao corpo do e-mail o valor entre “” e cada chr(10) representa uma quebra de linha. As linhas abaixo estão ecebendo o valor do campo oculto que foi criado na pagina anterior e imprimindo na tela. �VWU� �VWU���1RPH����UHTXHVW��QRPH�������FKU�����

Page 68: Apostila ASP ACR

ACR Informática

Pág - 68

VWU� �VWU���&3)����UHTXHVW��FSI�������FKU�����VWU� �VWU���5*����UHTXHVW��UJ�����2UJmR�(PLVVRU����UHTXHVW��RUJDRHPLVVRU�������FKU�����VWU� �VWU���6H[R����UHTXHVW��VH[R�������FKU�����VWU� �VWU���'DWD�1DVFLPHQWR����UHTXHVW��GDWDQDVF�������FKU�����VWU� �VWU���3UHIHUrQFLD�0~VLFDO����UHTXHVW��SUHIHUHQFLDPXV�������FKU�����VWU� �VWU���(QGHUHoR����UHTXHVW��HQGHUHFR�����&RPSOHPHQWR����UHTXHVW��FRPSOHPHQWR�������FKU�����VWU� �VWU���%DLUUR����UHTXHVW��EDLUUR�������FKU�����VWU� �VWU���&(3����UHTXHVW��FHS���������UHTXHVW��FLGDGH���������UHTXHVW��HVWDGR���������UHTXHVW��SDLV�������FKU�����VWU� �VWU���7HOHIRQH�5HVLGrQFLDO����UHTXHVW��WHOHIRQHUHV�����7HOHIRQH�&RPHUFLDO����UHTXHVW��WHOHIRQHFRP�������FKU�����VWU� �VWU���(�PDLO����UHTXHVW��HPDLO�������FKU�����VWU� �VWU���3DJDPHQWR����UHTXHVW��SDJDPHQWR�������FKU�����VWU� �VWU���&DUWmR�GH�&UpGLWR����UHTXHVW��FDUWDR�����1������UHTXHVW��QXPFDUWDR�����9DOLGDGH����UHTXHVW��YDOLGDGH�����&3)�GR�WLWXODU����UHTXHVW��FSIWL�������FKU�����VWU� �VWU��FKU������FKU������� �'$'26�'(�(175(*$� ���FKU������FKU�����VWU� �VWU���/RFDO�����UHTXHVW��HQWUHJD�������FKU�����VWU� �VWU���1RPH�����UHTXHVW��QRPHHQWUHJD�������FKU�����VWU� �VWU���(QGHUHoR�����UHTXHVW��HQGHUHFRHQWUHJD�������FKU�����VWU� �VWU���%DLUUR�����UHTXHVW��EDLUURHQWUHJD�������FKU�����VWU� �VWU���&LGDGH�����UHTXHVW��FLGDGHHQWUHJD�������FKU�����VWU� �VWU���(VWDGR�����UHTXHVW��HVWDGRHQWUHJD�������FKU�����VWU� �VWU���&(3�����UHTXHVW��FHSHQWUHJD�������FKU������ A seguir temos a rotina responsavel pelo envio do e-mail ao administrador do site com a ficha de pedido criada acima. �VHW�PDLOHU� �VHUYHU�FUHDWHREMHFW��&'2176�1HZ0DLO���� Cria o objeto cdonts, o objeto cdonts é responsável pelo envio do e-mail e só funciona em ambiente windows Nt server. �PDLOHU�IURP� �UHTXHVW��HPDLO���� A linha acima indica de onde esta sendo enviado o e-mail, no caso quem esta enviando o e-mail é o ususario que se encontra dentro da loja virtual. �PDLOHU�WR� ��ZHEPDVWHU#ORMDFG�FRP�EU��� A linha acima esta indicando para onde será enviado o e-mail no caso será enviado ao administrador da loja virtual. �PDLOHU�VXEMHFW� ��&RPSUDV�IHLWDV�SHOD�ORMD�YLUWXDO��PDLOHU�ERG\� �VWU�PDLOHU�VHQG�VHW�PDLOHU� �QRWKLQJ�� As linhas acima esta indicando o titulo da mensagem(subject), o conteudo da mensagem que é a variável str e por fim esta envindo o e-mail e descarregando este da memória.

Page 69: Apostila ASP ACR

ACR Informática

Pág - 69

� Poderia-se ter usado na rotina de e-mail mais quatro parâmetros: mailer.bodyformat(formato do corpo do e-mail use 0 para HTML e 1 para txt, o default é 1), mailer.mailformat(formato do e-mail use 0 para HTML e 1 para txt, o default é 1) e mailer.atatchfile (use este comando para anexar arquivos) e mailer.atatchurl(use este comado para anexar links). �UHVSRQVH�FRRNLHV��ORMDFG���H[SLUHV QRZ��

Esta linha acima faz com que o cookie criado com o carrinho seja imediatamente descarregado da memória. ��!��ERG\�EJFRORU ��))))))�!��FHQWHU!����IRQW�VL]H ����IDFH �9HUGDQD�!�E!��X!�IRQW�VL]H ����FRORU ���������!3HGLGR�HQYLDGR����FRP�VXFHVVR��IRQW!��X!��E!��IRQW!����FHQWHU!���ERG\!���KWPO!

�7UDEDOKDQGR�FRP�DUTXLYRV�GH�7H[WR�� Um outro recurso muito interessante que temos com o asp é a criação de arquivos de texto no servidor. Estes arquivos podem ser criado para armazenar arquivo de log de um sistema, armazenar informações e ou até mesmo banco de dados. Modos de abertura: Forwriting=somente escrita. Forappending=formato do arquivo (caso txt, leitura e escrita) Forreading=formato somente leitura. Opção de formatos: Tristateusedefault=abre o arquivo em seu formato de origem Tristatetrue=padrão ascII Tristatefalse=padrão unicode. Métodos: Você preisa criar um objeto do tipo scripting.filesystemobject. ex: <% set obj=server.createobject(“scripting.filesystemobject”) %> objeto.read=ler conteúdo de arquivo texto (1 linha) objeto.readall= ler conteúdo de arquivo texto (todo arquivo) objeto.write= escrever em um arquivo de texto. objeto.writelines= escrever em um arquivo de texto.(uma linha com quebra e retorno utomatico de carro)

Page 70: Apostila ASP ACR

ACR Informática

Pág - 70

objeto.writebranklines= escrever em um arquivo de texto linhas em branco. objeto.columns=contar quantas colunas tem o arquivo de texrto objeto.lines=contar quantas linhas tem o arquivo de texto objeto.fileexists=checar se um arquivo existe objeto.atendofstream= até o final do arquivo objeto.deletefile=deletar arquivo Createtextfile=criar arquivo de texto Opentextfile=abrir arquivo de texto Exemplo de declarção de cnstantes: <% const forreading=1,forwriting=2,forappending=8 const tristateusedefault=-2,tristatetrue=-1,tristatefalse=0 %> &KDW��

É sistema de conversação em tempo real, o usuário entra em uma sala e encontra outras pessoas nesta sala com as quais pode conversar enviar figuras e etc... No código da pagina serão encontrados frases com o primeiro caractere igua a “ ‘ “, isto indica que esta linha é um comentário de código e não deve ser digitada. Ex:

<% ‘esta linha é um comentário %>

'HIDXOW�DVS� �KWPO!��KHDG!��WLWOH!(QWUDU�QR�FKDW��WLWOH!��PHWD�KWWS�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�KWPO��FKDUVHW ZLQGRZV������!���KHDG!���ERG\�EJFRORU ��))))))�!��IRUP�PHWKRG �SRVW��DFWLRQ �HQWUDU�DVS�!����S!3UHHQFKD�VHX�1LFN��������LQSXW�W\SH �WH[W��QDPH �QLFN�!������LQSXW�W\SH �VXEPLW��YDOXH �(QWUDU�!�����S!�����IRUP!���ERG\!���KWPO!� As linhas acima constituem uma pagina onde o usario será interrogado sobre qual nick quer usar. HQWDU�DVS�

Page 71: Apostila ASP ACR

ACR Informática

Pág - 71

uma das principais paginas do chat responsavel pela montagem da tela e entrada do usuario na sala. ���FRQVW�IRUUHDGLQJ ��IRUZULWLQJ ��IRUDSSHQGLQJ ��FRQVW�WULVWDWHXVHGHIDXOW ���WULVWDWHWUXH ���WULVWDWHIDOVH ���µGHFODUDomR�GH�FRQVWDQWHV��VHW�FQ VHUYHU�&UHDWH2EMHFW��DGRGE�FRQQHFWLRQ�������FQ�RSHQ��GVQ FKDWDVSW[W���µFRQH[kR�DR�EDQFR�GH�GDGRV��LI�UHTXHVW��QLFN����!����DQG�OFDVH�UHTXHVW��QLFN�����!��WRGRV��WKHQ��µ�WHVWH�VH�R�QLFN�p�GLIHUHQWH�GH�YD]LR�H�GLIHUHQWH�GH�WRGRV���VHW�WHVWH VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���WHVWH�RSHQ��VHOHFW� �IURP�FKDW�ZKHUH�QLFN�OLNH����UHTXHVW��QLFN������FQ��µSURFXUD�R�QLFN�QD�WDEHOD�QLFNV�SDUD�WHVWDU�VH�Mi�QmR�H[LVWH�XP�XVHU�FRP�R�PHVPR�QRPH�TXH�VH�HVWD�HQWUDQGR���LI�WHVWH�HRI�WKHQ� µ�VRPHQWH�VH�R�UHFRUGVHW�IRU�LJXDO�D��YD]LR��RX�VHMD��QDR�IRL�HQFRQWUDGR�QLFN�LJXDO���VHW�JUDYD VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���JUDYD�RSHQ��LQVHUW�LQWR�FKDW�QLFN��YDOXHV��UHTXHVW��QLFN������FQ��µ�JUDYD�R�QLFN�QD�WDEHOD�FKDW��XVHUV VHUYHU�PDSSDWK��VDOD���UHTXHVW��QLFN����FKDW����µ�LQGLFD�R�FDPLQKR�RQGH�VHUi�FULDGR�R�DUTXLYR�WH[WR��1R�FDVR�VHUi�FULDGR�QXPD�SDVWD�FKDPDGD�DXOD��TXH�VH�HQFRQWUD�QR�VHUYHU�FRP�R�QRPH�GH�³QLFN�HVFROKLGR�FKDW´��VHW�XVXDULR VHUYHU�FUHDWHREMHFW��VFULSWLQJ�ILOHV\VWHPREMHFW����µ�FULD�VH�XP�REMHWR�SDGUDR�ILOHV\VWHP�REMHFW�SDUD�TXH�VH�SRVVD�DFHVVDU�D�XQLGDGH�H�FULDU�R�DUTXLYR�GH�WH[WR�TXH�LUD�FRQWHU�DV�PHQVDJHQV�GHVWH�XVXDULR���VHW�QLFNV XVXDULR�FUHDWHWH[WILOH�XVHUV�WUXH���µ�HVWD�VHQGR�XVDGR�R�REMHWR�FULDGR�SDUD�FULDU�XP�DUTXLYR�GH�WH[WR�TXH�VHUi�DUPD]HQDGR�QD�YDULiYHO�QLFNV���VHVVLRQ��QLFN�� UHTXHVW��QLFN����

Page 72: Apostila ASP ACR

ACR Informática

Pág - 72

µ�FRPR�R�QLFN�GR�XVXDULR�p�XP�HOHPHQWR�TXH�VHUi�XVDGR�PXLWDV�YH]HV�QR�FyGLJR�DLQGD�HVWD�VHQGR�FULDGD�XPD�VHVVLRQ�JXDUGDQGR�R�QLFN�GR�XVHU��

A seguir temos a montagem da tela em uma janela dividida em tres frames, o superior chama-se topo.asp(terá apenas o titulo do chat), na região central teremos a pagina mensagem.asp( responsável por exibir as mensagens na tela e por fim temos a pagina formulário.asp que é responsável pelo envio das mensagens aos arquivos de texto. A formulário,asp esta sendo aberta por uma query comprimentando todo o pessoal que estava na sala. �!���KWPO!��KHDG!�WLWOH!��WLWOH!��KHDG!��IUDPHVHW�URZV ��� ���!��IUDPH�VUF WRSR�DVS�VFUROOLQJ QR��QRUHVL]H!��IUDPH�VUF PHQVDJHP�DVS�!��IUDPH�VUF �IRUPXODULR�DVS"TXHP 7RGRVLPDJHP QDGD�JLIWLSR )DOD�SDUDPHQVDJHP JDOHUD�HQWUHL�QD�VDOD�����VFUROOLQJ QR�QRUHVL]H!���IUDPHVHW!���KWPO!��� ��HOVH�!��� �VFULSW!�� � DOHUW��(VWH�QLFN�Mi�H[LVWH���� � ZLQGRZ�ORFDWLRQ �GHIDXOW�DVS��� ��VFULSW!��� ��HQG�LI�! Acima temos a mensagem de erro para o segundo “if” que foi criado ��HOVH�!��VFULSW!�� DOHUW��9RFr�QmR�SRGH�XVDU�HVWH�QLFN���� ZLQGRZ�ORFDWLRQ �GHIDXOW�DVS����VFULSW!���HQG�LI�! Acima temos a mensagem de erro para o primeiro “if” que foi criado IRUPXODULR�DVS� ���VHW�FQ VHUYHU�&UHDWH2EMHFW��DGRGE�FRQQHFWLRQ�������FQ�RSHQ��GVQ FKDWDVSW[W���FRQVW�IRUUHDGLQJ ��IRUZULWLQJ ��IRUDSSHQGLQJ ��

Page 73: Apostila ASP ACR

ACR Informática

Pág - 73

FRQVW�WULVWDWHXVHGHIDXOW ���WULVWDWHWUXH ���WULVWDWHIDOVH ���LI�UHTXHVW��UHVHUYDGR����!����DQG�UHTXHVW��TXHP����!��7RGRV��WKHQ�� A linha acima esta checando se a mensagem enviada tem como destinatario um nick diferente de todos e a opção reservado checada. Funcionará se alguém na sala enviar uma mensagem reservada a outra pessoa que não seja todos. � JHUDO VHUYHU�PDSSDWK��VDOD���UHTXHVW��TXHP����FKDW����� VHW�PVJDEHUWD VHUYHU�FUHDWHREMHFW��VFULSWLQJ�ILOHV\VWHPREMHFW���� VHW�PHQVDJHP PVJDEHUWD�RSHQWH[WILOH�JHUDO�IRUDSSHQGLQJ�IDOVH�WULVWDWHIDOVH�� As linhas acima estão abrindo o arquivo de texto da pessoa para quem fo envia a mensagem e abaixo temos a mensagem sendo gravada. Note o Class=a no comando tr, esta propriedade é conhecida como style e deixará o fundo da mensagem em um tom de cinza. � PHQVDJHP�ZULWHOLQH���WU�FODVV D!�WG!�VPDOO!��WLPH����VPDOO!�E!����VHVVLRQ��QLFN��������%!5HVHUYDGDPHQWH��UHTXHVW��WLSR�������UHTXHVW��TXHP����������UHTXHVW��PHQVDJHP������LPJ�VUF LPDJHQV���UHTXHVW��LPDJHP����!��WG!��WU!����� LI�UHTXHVW��TXHP����!�6HVVLRQ��QLFN���WKHQ�� �

Duas pessoas possuem o direito de ver uma mensagem reservada quem enviou e o destinatario, as linhas abaixo estão gravando dentro do arquivo de texto a mesagem para que esta pessoa possa ver na tela a mensagem. Esta sendo feito um teste lógico na linha abaixo para checar se a pessoa que enviou não é também o destinatário (ou seja eu mandei uma mensagem reservada para mim mesmo), este teste esta sendo realizado para impedir que apareçam na tela duas mensagens iguais, uma por que enviou e outra por que recebeu ... � � JHUDOUV VHUYHU�PDSSDWK��VDOD���VHVVLRQ��QLFN����FKDW����� � VHW�PVJDEHUWD� VHUYHU�FUHDWHREMHFW��VFULSWLQJ�ILOHV\VWHPREMHFW���� � VHW�PHQVDJHP� PVJDEHUWD��RSHQWH[WILOH�JHUDOUV�IRUDSSHQGLQJ�IDOVH�WULVWDWHIDOVH���� � PHQVDJHP��ZULWHOLQH���WU!�WG!�VPDOO!��WLPH����VPDOO!�E!����VHVVLRQ��QLFN��������%!5HVHUYDGDPHQWH��UHTXHVW��WLSR�������UHTXHVW��TXHP����������UHTXHVW��PHQVDJHP������LPJ�VUF LPDJHQV���UHTXHVW��LPDJHP����!��WG!��WU!��� HQG�LI�� �HOVHLI�UHTXHVW��UHVHUYDGR����!����DQG�UHTXHVW��TXHP��� ��7RGRV��WKHQ�� Temos uma condicional lógica na linha acima que testa se a mensagem foi enviada em modo reservado a todos na sala, como não existe um arquivo de texto para o usuário todos as linhas abaixo estão usando uma rotina que grava uma vez para cada usuário a mensagem (ou seja irá gravar a linha mensagem em questão a todos usuários da sala. �

Page 74: Apostila ASP ACR

ACR Informática

Pág - 74

� VHW�JHUDOWV� �VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���� � � JHUDOWV�RSHQ��VHOHFW� �IURP�FKDW��FQ�� � � GR�ZKLOH�QRW�JHUDOWV�HRI���� JHUDOWG VHUYHU�PDSSDWK��VDOD���JHUDOWV��QLFN����FKDW����� VHW�PVJDEHUWDWG VHUYHU�FUHDWHREMHFW��VFULSWLQJ�ILOHV\VWHPREMHFW���� VHW�PHQVDJHPWG PVJDEHUWDWG�RSHQWH[WILOH�JHUDOWG�IRUDSSHQGLQJ�IDOVH�WULVWDWHIDOVH����� � PHQVDJHPWG�ZULWHOLQH���WU�FODVV D!�WG!�VPDOO!��WLPH����VPDOO!�E!����VHVVLRQ��QLFN�������%!��UHTXHVW��WLSR�������UHTXHVW��TXHP����������UHTXHVW��PHQVDJHP������LPJ�VUF LPDJHQV���UHTXHVW��LPDJHP����!��WG!��WU!���� JHUDOWV�PRYHQH[W�� ORRS���HOVH��� O “else”�acima caracteriza uma mensagem publica enviada a uma pessoa ou a todos usuarios da sala. Por que independende de ser enviada a todos ou a uma pessoa em especial ela será vista por todos então logo será gravada em todos os arquivos de qalquer forma. �� VHW�JHUDO� �VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���� � � JHUDO�RSHQ��VHOHFW� �IURP�FKDW��FQ�� � � GR�ZKLOH�QRW�JHUDO�HRI���� JHUDO� VHUYHU�PDSSDWK��VDOD���JHUDO��QLFN����FKDW����� VHW�PVJDEHUWD VHUYHU�FUHDWHREMHFW��VFULSWLQJ�ILOHV\VWHPREMHFW���� VHW�PHQVDJHP PVJDEHUWD�RSHQWH[WILOH�JHUDO��IRUDSSHQGLQJ�IDOVH�WULVWDWHIDOVH����� LI�JHUDO��QLFN��� �UHTXHVW��TXHP���WKHQ��� � PHQVDJHP�ZULWHOLQH���WU�FODVV D!�WG!�VPDOO!��WLPH����VPDOO!�E!����VHVVLRQ��QLFN�������%!��UHTXHVW��WLSR�������UHTXHVW��TXHP����������UHTXHVW��PHQVDJHP������LPJ�VUF LPDJHQV���UHTXHVW��LPDJHP����!��WG!��WU!��� HOVH�� � PHQVDJHP�ZULWHOLQH���WU!�WG!�VPDOO!��WLPH����VPDOO!�E!����VHVVLRQ��QLFN�������%!��UHTXHVW��WLSR�������UHTXHVW��TXHP����������UHTXHVW��PHQVDJHP������LPJ�VUF LPDJHQV���UHTXHVW��LPDJHP����!��WG!��WU!��� HQG�LI��� JHUDO�PRYHQH[W�� ORRS��HQG�LI��!�

Page 75: Apostila ASP ACR

ACR Informática

Pág - 75

�KWPO!��KHDG!��WLWOH!)RUPXODULR��WLWOH!��PHWD�KWWS�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�KWPO��FKDUVHW ZLQGRZV������!���KHDG!��ERG\�EJFRORU �VN\EOXH��OHIWPDUJLQ ����WRSPDUJLQ ����PDUJLQZLGWK ����PDUJLQKHLJKW ���!��3!��WDEOH�ERUGHU ����FHOOVSDFLQJ ����FHOOSDGGLQJ ����DOLJQ �FHQWHU��ZLGWK ������KHLJKW ����!����WU!������WG�YDOLJQ �ERWWRP��KHLJKW ����!���������IRUP�QDPH �IRUP���DFWLRQ �VDLU�DVS��WDUJHW �BWRS�!����������LQSXW�W\SH �VXEPLW��QDPH �VDLU��YDOXH �6DLU�!���������IRUP!��WG!������WG�KHLJKW ����!���������IRUP�PHWKRG �SRVW��DFWLRQ �IRUPXODULR�DVS�!����������WDEOH�ERUGHU ����FHOOVSDFLQJ ����FHOOSDGGLQJ ����DOLJQ �FHQWHU��ZLGWK ������KHLJKW ����!������������WU!���������������WG!��IRQW�IDFH �9HUGDQD��VL]H ���!�� VHVVLRQ��QLFN���!����������������VHOHFW�QDPH �WLSR�!������������������RSWLRQ!)DOD�SDUD��RSWLRQ!������������������RSWLRQ!*ULWD�FRP��RSWLRQ!������������������RSWLRQ!0XUPXUD�SDUD��RSWLRQ!������������������RSWLRQ!)OHUWD�FRP��RSWLRQ!�����������������VHOHFW!�����������������IRQW!��WG!��������������WG�DOLJQ �ULJKW�!�IRQW�IDFH �9HUGDQD��VL]H ���!FRP���E!�����������������VHOHFW�QDPH �TXHP�!������������������RSWLRQ�YDOXH �7RGRV�!7RGRV��RSWLRQ!������������������ � VHW�QLFN� �VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���� � QLFN�RSHQ��VHOHFW� �IURP�FKDW��FQ�� � GR�ZKLOH�QRW�QLFN�HRI��� �!�� �RSWLRQ�YDOXH �� QLFN��QLFN���!!�� QLFN��QLFN���!���QLFN�PRYHQH[W�!��������������������ORRS�!������������������VHOHFW!�� As linhas acima estao sendo usadas para preecher o combo box com os nicks das pessoas que estão na sala, este preenchiento é feito de forma automática pois não temos como saber agora no ato do desenvolvimento quais as pessoas que vão entrar na sala. A autualização é feita também de forma automática a casa envio de mensagem a pagina formulário será inteira reprocessada atualizando assim então o combo Box. �����������������E!���IRQW!��WG!��������������WG�DOLJQ �ULJKW�!�IRQW�IDFH �9HUGDQD��VL]H ���!(QYLDU�LPDJHP���IRQW!�����������������VHOHFW�QDPH LPDJHP!������������������RSWLRQ�YDOXH QDGD�JLI�FKHFNHG!QEVS��������������������RSWLRQ�YDOXH DVVXVWDGR�JLI!$VVXVWDGR�������������������RSWLRQ�YDOXH EDWRQ�JLI!%DWRQ�������������������RSWLRQ�YDOXH EHLMR�JLI!%HLMR��

Page 76: Apostila ASP ACR

ACR Informática

Pág - 76

�����������������RSWLRQ�YDOXH ERFHMR�JLI!%RFHMR�������������������RSWLRQ�YDOXH ER\�JLI!%R\�������������������RSWLRQ�YDOXH FDUHWD�JLI!&DUHWD�������������������RSWLRQ�YDOXH FRUDFDR�JLI!&RUDFDR�������������������RSWLRQ�YDOXH GHQWXFR�JLI!'HQWXFR�������������������RSWLRQ�YDOXH IORU�JLI!)ORU�������������������RSWLRQ�YDOXH JLUO�JLI!*LUO�������������������RSWLRQ�YDOXH ULVDGD�JLI!5LVDGD�������������������RSWLRQ�YDOXH VRUUL�JLI!6RUUL������������������VHOHFW!���������������WG!�������������WU!������������WU!���������������WG�FROVSDQ ���!��IRQW�IDFH �9HUGDQD��VL]H ���!�0HQVDJHP������������������LQSXW�W\SH �WH[W��QDPH �PHQVDJHP��VL]H ����!�����������������IRQW!��IRQW�IDFH �9HUGDQD��VL]H ���!���IRQW!�IRQW�IDFH �9HUGDQD��VL]H ���!�����������������LQSXW�W\SH �VXEPLW��QDPH �HQYLDU��YDOXH �(QYLDU�!�����������������LQSXW�W\SH �FKHFNER[��QDPH �UHVHUYDGR��YDOXH �UHVHUYDGR�!���������������5HVHUYDGRQEVS�QEVS�QEVS�QEVS�QEVS���IRQW!��WG!������������WU!�����������WDEOH!���������IRUP!��WG!�����WU!���WDEOH!���ERG\!���KWPO!��PHQVDJHP�DVS���KWPO!��KHDG!��WLWOH!0HQVDJHP��WLWOH!���VW\OH�W\SH WH[W�FVV!�������D^EDFNJURXQG�FRORU�HFHFHF`�����!���VW\OH!�� Nas linhas acima temos o style responsavel pelo aparecimento das mensagens com fundo cinza. E nas linhas abaixo temos o código responsável pela atualização do conteúdo da tela de mensagens do chat a cada cinco segundo a página sofre um refresh que atualiza a tela. ��PHWD�KWWS�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�KWPO��FKDUVHW ZLQGRZV������!��PHWD�KWWS�HTXLY �UHIUHVK��FRQWHQW ���85/ �URGDSH�!���KHDG!��ERG\!��FHQWHU!��WDEOH�ZLGWK ����!����

Page 77: Apostila ASP ACR

ACR Informática

Pág - 77

FRQVW�IRUUHDGLQJ ��IRUZULWLQJ ��IRUDSSHQGLQJ ��FRQVW�WULVWDWHXVHGHIDXOW ���WULVWDWHWUXH ���WULVWDWHIDOVH ����JHUDO VHUYHU�PDSSDWK��VDOD���VHVVLRQ��QLFN����FKDW����VHW�PRVWUD VHUYHU�FUHDWHREMHFW��VFULSWLQJ�ILOHV\VWHPREMHFW����VHW�PHQVDJHP� �PRVWUD�RSHQWH[WILOH�JHUDO�IRUUHDGLQJ�IDOVH�WULVWDWHIDOVH���GR�ZKLOH�PHQVDJHP�DWHQGRIVWUHDP��!�WUXH�� VWUOLQH� �PHQVDJHP�UHDGOLQH�� UHVSRQVH�ZULWH�VWUOLQH��YEFOUI�ORRS��VHW�PHQVDJHP� �QRWKLQJ�VHW�PRVWUD� �QRWKLQJ����!�� As linhas acima são responsáveis por abrir o arquivo de texto do usuário corrente e exibir suas mensagens em tela. ���WDEOH!���FHQWHU!��S!�D�QDPH �URGDSH�!��D!����ERG\!���KWPO!��VDLU�DVS�� Página responsavel pela saida do usuario da sala, deve avisar aos usuários que ainda estão na sala de sua saída,alem de excluir seu nick da tabela e apagar seu arquivo de texto. �����VHW�FQ VHUYHU�&UHDWH2EMHFW��DGRGE�FRQQHFWLRQ�������FQ�RSHQ��GVQ FKDWDVSW[W����FRQVW�IRUUHDGLQJ ��IRUZULWLQJ ��IRUDSSHQGLQJ ��FRQVW�WULVWDWHXVHGHIDXOW ���WULVWDWHWUXH ���WULVWDWHIDOVH ��VHW�DSDJD VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���DSDJD�RSHQ��GHOHWH� �IURP�FKDW�ZKHUH�QLFN �VHVVLRQ��QLFN�����FQ�� A linha acima remove da tabela o nick do usuario que saiu da sala. �VHW�JHUDO� �VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���� � � JHUDO�RSHQ��VHOHFW� �IURP�FKDW��FQ�

Page 78: Apostila ASP ACR

ACR Informática

Pág - 78

� � � GR�ZKLOH�QRW�JHUDO�HRI���� JHUDO� VHUYHU�PDSSDWK��VDOD���JHUDO��QLFN����FKDW����� VHW�PVJDEHUWD VHUYHU�FUHDWHREMHFW��VFULSWLQJ�ILOHV\VWHPREMHFW���� VHW�PHQVDJHP PVJDEHUWD�RSHQWH[WILOH�JHUDO��IRUDSSHQGLQJ�IDOVH�WULVWDWHIDOVH���� PHQVDJHP�ZULWHOLQH���WU!�WG!�VPDOO!��WLPH����VPDOO!�E!����VHVVLRQ��QLFN�������%!�6DL�GD�VDOD��������� JHUDO�PRYHQH[W�� ORRS�� A linhas acima gravam uma mensagem avisando de sua saída em todos arquivos de texto dos usuarios que ficaram na sala.��XVHUV VHUYHU�PDSSDWK��VDOD���VHVVLRQ��QLFN����FKDW���VHW�XVXDULR VHUYHU�FUHDWHREMHFW��VFULSWLQJ�ILOHV\VWHPREMHFW���XVXDULR�GHOHWHILOH�XVHUV� A linhas acima são usadas para apagar o arquivo de texto do usuário que saiu da sala.�UHVSRQVH�UHGLUHFW��GHIDXOW�DVS��� A linha acima redireciona o usuaio para pagina de entrada para que este caso queira possa entrar de novo no chat com o mesmo ou cm outro nick. ��!��KWPO!��KHDG!��WLWOH!6DLU�GR�%DWH�SDSR��WLWOH!��PHWD�KWWS�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�KWPO��FKDUVHW ZLQGRZV������!���KHDG!���ERG\�EJFRORU ��))))))�!�����ERG\!���KWPO!��WRSR�DVS���KWPO!��KHDG!��WLWOH!7RSR��WLWOH!��PHWD�KWWS�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�KWPO��FKDUVHW ZLQGRZV������!���KHDG!��ERG\�EJFRORU �VN\EOXH�!��&HQWHU!��K�!$&5���,1)250È7,&$���&+$7����K�!����ERG\!���KWPO!�

Page 79: Apostila ASP ACR

ACR Informática

Pág - 79

(;(5&,&,26�3$5$�(678'2���0DLOHU�±�(QYLR�GH�(�PDLOV��6HUi�QHFHVViULR�FULDU�XP�EDQFR�GH�GDGRV�GHQWUR�GHVWH�XPD�WDEHOD�PDLOV�FRP�RV�FDPSRV�QRPH��H�PDLO��8VH�FKDYH�SULPDULD��VHUi�FULDGR�XP�FDPSR�FyGLJR��3DUD�H[HUFLWDU�R�PpWRGR�RGEF�GH�FRQWUROH�GH�EDQFR�GH�GDGRV�UHODFLRQH�XPD�GVQ�GR�WLSR�VLVWHPD�SDUD�XVDU�FRP�HVWH�H[HUFtFLR���,QGH[�KWP���KWPO!��KHDG!��WLWOH!,QVHULU�IRUPXOiULRV���WLWOH!���KHDG!��ERG\!���FHQWHU!��K�!�%HP�9LQGR�DR�0DLOHU���K�!����D�KUHI LQVHULU�KWP!,QVHULU�1RYRV�(�PDLOV��D!�S!��D�KUHI PDLOHU�KWP!(QYLDU�(�PDLOV��D!����FHQWHU!���ERG\!���KWPO!��,QVHULU�KWP���KWPO!��KHDG!��WLWOH!,QVHULU�IRUPXOiULRV���WLWOH!���KHDG!��ERG\!��FHQWHU!��K�!&DGDVWUDU�1RYRV�H�PDLOV�QD�OLVWD��K�!���FHQWHU!��IRUP�DFWLRQ �LQVHULU�DVS��PHWKRG �SRVW�!�1RPH�GR�SURGXWR��LQSXW�W\SH WH[W�QDPH QRPH!��EU!�(�PDLO��LQSXW�W\SH WH[W�QDPH HPDLO!��S!��LQSXW�W\SH VXEPLW�YDOXH HQYLDU!��LQSXW�W\SH UHVHW�YDOXH OLPSDU!���IRUP!���ERG\!�

Page 80: Apostila ASP ACR

ACR Informática

Pág - 80

��KWPO!��LQVHULU�DVS�����VHW�FQ VHUYHU�FUHDWHREMHFW��DGRGE�FRQQHFWLRQ���FQ�RSHQ�GVQ PDLOHU���VHW�UV VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���UV�RSHQ��LQVHUW�LQWR�PDLOV�QRPH�HPDLO��YDOXHV��UHTXHVW��QRPH�����UHTXHVW��HPDLO������FQ��!��KWPO!��KHDG!��WLWOH!�LQVHULU�GDGRV���WLWOH!��ERG\!��K�!'DGRV�*UDYDGRV�FRP�VXFHVVR������K�!���ERG\!���KWPO!��0DLOHU�+WP���KWPO!��KHDG!��WLWOH!&DGDVWUR�GH�&OLHQWHV��WLWOH!��PHWD�KWWS�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�KWPO��FKDUVHW LVR��������!���KHDG!��ERG\�EJFRORU ��IIIIII��VFUROO QR!��SUH!���GLY�DOLJQ �FHQWHU�!��X!�IRQW�IDFH �9HUGDQD��VL]H ���!�E!&217(8'2�'2�(�0$,/����E!��IRQW!��X!����IRUP�PHWKRG �SRVW��DFWLRQ �PDLOHU�DVS�!����WDEOH�ERUGHU ����FHOOVSDFLQJ ����FHOOSDGGLQJ ����DOLJQ �FHQWHU�!������WU!���������WG!�IRQW�IDFH �9HUGDQD��VL]H ���!)URP���IRQW!��WG!��������WG!��IRQW�IDFH �9HUGDQD��VL]H ���!�����������LQSXW�W\SH �WH[W��QDPH �IURP��VL]H ����!�����������IRQW!��WG!�������WU!������WU!���������WG!�IRQW�IDFH �9HUGDQD��VL]H ���!6XEMHFW���IRQW!��WG!��������WG!��IRQW�IDFH �9HUGDQD��VL]H ���!�����������LQSXW�W\SH �WH[W��QDPH �WLWXOR��VL]H ����!�����������IRQW!��WG!�������WU!������WU!���������WG!�IRQW�IDFH �9HUGDQD��VL]H ���!WH[WR���IRQW!��WG!��������WG!��IRQW�IDFH �9HUGDQD��VL]H ���!�����������WH[WDUHD�FROV ���URZV ���QDPH �WH[WR�!��WH[WDUHD!�����������IRQW!��WG!�

Page 81: Apostila ASP ACR

ACR Informática

Pág - 81

������WU!��WU!�WG!QEVS���WG!�WG!QEVS���WG!��WU!������WU!���������WG�DOLJQ FHQWHU!�LQSXW�W\SH UHVHW�YDOXH �/LPSDU���WG!��������WG�DOLJQ FHQWHU!�LQSXW�W\SH VXEPLW�YDOXH �(QYLDU�H�PDLOV���WG!��������WU!���WDEOH!���SUH!���GLY!���IRUP!���KWPO!��PDLOHU�DVS�����VHW�FQ� �VHUYHU�&UHDWH2EMHFW��DGRGE�FRQQHFWLRQ���FQ�RSHQ��GVQ PDLOHU���VHW�FRQWHXGR VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW���FRQWHXGR�RSHQ��VHOHFW� �IURP�PDLOV��FQ��GR�ZKLOH�QRW�FRQWHXGR�HRI��VHW�PDLOHU� �VHUYHU�FUHDWHREMHFW��&'2176�1HZ0DLO���PDLOHU�IURP� �UHTXHVW��IURP���PDLOHU�WR� �FRQWHXGR��HPDLO���PDLOHU�VXEMHFW� �UHTXHVW��WLWXOR���PDLOHU�ERG\� �UHTXHVW��WH[WR���PDLOHU�VHQG�VHW�PDLOHU� �QRWKLQJ��FRQWHXGR�PRYHQH[W�ORRS���!��KWPO!�KHDG!�WLWOH!�/LVWD�GH�(�PDLOV���WLWOH!��KHDG!��ERG\!���FHQWHU!�K�!(�PDLOV�HQYLDGRV�FRP�VXFHVVR��K�!��FHQWHU!����ERG\!���KWPO!��3URSULHGDGHV�GH�'LVFR�������VHW�GLVFR VHUYHU�FUHDWHREMHFW��VFULSWLQJ�ILOHV\VWHPREMHFW����

Page 82: Apostila ASP ACR

ACR Informática

Pág - 82

ORFDO UHTXHVW�VHUYHUYDULDEOHV��6&5,37B1$0(���ORFDO VHUYHU�PDSSDWK�ORFDO��QRPHGLVFR GLVFR�JHWGULYHQDPH�ORFDO���VHW�GULYH GLVFR�JHWGULYH�QRPHGLVFR�����UHVSRQVH�ZULWH��3URSULHGDGHV�VREUH�VHX�GULYH���QRPHGLVFR���EU!��UHVSRQVH�ZULWH��$�OHWUD�GD�XQLGDGH�p����GULYH�GULYHOHWWHU���EU!��UHVSRQVH�ZULWH��2�FDPLQKR�DWp�VHX�GULYH�p��GULYH�SDWK���EU!��UHVSRQVH�ZULWH��2�VHX�GULYH�RSHUD�HP���GULYH�ILOHV\VWHP��EU!��UHVSRQVH�ZULWH��2�QRPH�GR�VHX�GULYH�p����GULYH�YROXPHQDPH����EU!��UHVSRQVH�ZULWH��(VSDoR�/LYUH�QD�XQLGDGH����IRUPDWQXPEHU�GULYH�IUHHVSDFH�����������.E��EU!��UHVSRQVH�ZULWH��(VSDoR�7RWDO�QD�XQLGDGH����IRUPDWQXPEHU�GULYH�WRWDOVL]H�����������.E��EU!��UHVSRQVH�ZULWH��$�UDL]�GR�GULYH�p���GULYH�URRWIROGHU���EU!��UHVSRQVH�ZULWH��2�QXPHUR�GH�VHULH�GR�GLVFR�p���GULYH�VHULDOQXPEHU���EU!���,I�GULYH�LVUHDG\� �WUXH�WKHQ�� UHVSRQVH�ZULWH��6WDWXV�GR�GLVSRVLWLYR� �2�GULYH�HVWD�SURQWR�SDUD�DFHVVR�EU!��HOVH�� UHVSRQVH�ZULWH��6WDWXV�GR�GLVSRVLWLYR� �2�GULYH�QDR�HVWD�SUHSDUDGR�EU!��HQG�LI��VHOHFW�FDVH�GULYH�GULYHW\SH��FDVH����WLSR �8QNQRZQ��FDVH����WLSR �5HPRYDEOH��FDVH����WLSR �)L[HG��FDVH����WLSR �1HWZRUN��FDVH����WLSR �&G�5RP��FDVH����WLSR �5DP�GLVN���HQG�VHOHFW��UHVSRQVH�ZULWH��'ULYH�GR�7LSR���WLSR���EU!���!��3URSULHGDGHV�'H�XP�DUTXLYR�JUDYDGR�QR�GLVFR�������'LP�2EM)VR��2EM$UT�6HW�2EM)VR� �6HUYHU�&UHDWH2EMHFW��6FULSWLQJ�)LOH6\VWHP2EMHFW���6HW�2EM$UT� �2EM)VR�*HW)LOH�6HUYHU�0DS3DWK��DUTXLYR��DVS����5HVSRQVH�:ULWH��1RPH�GR�DUTXLYR�����2EM$UT�1DPH����EU!��5HVSRQVH�:ULWH��$SUHVHQWD�R�WLSR�GR�DUTXLYR�����2EM$UT�7\SH����EU!��5HVSRQVH�:ULWH��'DWD�GH�FULDomR�GR�DUTXLYR�����2EM$UT�'DWH&UHDWHG����EU!��5HVSRQVH�:ULWH��7DPDQKR�GR�DUTXLYR�����IRUPDWQXPEHU�2EM$UT�6L]H������������.%�EU!��5HVSRQVH�:ULWH��&DPLQKR�GD�SDVWD�RQGH�HVWD�R�DUTXLYR�����2EM$UT�6KRUW3DWK����EU!��

Page 83: Apostila ASP ACR

ACR Informática

Pág - 83

5HVSRQVH�:ULWH��'DWD�GR�~OWLPR�DFHVVR�����2EM$UT�'DWH/DVW$FFHVVHG����EU!��5HVSRQVH�:ULWH��'DWD�GD�~OWLPD�DOWHUDomR�����2EM$UT�'DWH/DVW0RGLILHG����EU!����5HVSRQVH�:ULWH��'ULYH�HP�TXH�VH�HQFRQWUD�����2EM$UT�'ULYH����EU!��5HVSRQVH�:ULWH��3DVWD�SDL�����2EM$UT�3DUHQW)ROGHU����EU!��5HVSRQVH�:ULWH��2�DUTXLYR���2EM$UT�1DPH���HVWD�GHQWUR�GD�SDVWD�����2EM$UT�3DUHQW)ROGHU�1DPH����EU!��5HVSRQVH�:ULWH��5HWRUQD�R�FDPLQKR�GR�DUTXLYR�����2EM$UT�3DWK����EU!��5HVSRQVH�:ULWH��1RPH�GR�DUTXLYR�����2EM$UT�6KRUW1DPH����EU!���!��6HOHFW�HP�0~OWLSODV�7DEHODV���3DUD�HVWH�H[HUFLFLR�YDPRV�SUHFLVDU�GH�XP�EDQFR�GH�GDGRV�FRP�WUHV�WDEHODV���DOXQRV��FXUVRV��QRWDV��1D�WDEHOD�DOXQRV�WHPRV�RV�FDPSRV���FyGLJR��QRPH��LGDGH��VH[R��1D�WDEHOD�QRWDV�WHPRV�RV�FDPSRV���FyGLJR��DVS��FJL��KWPO��1D�WDEHOD�FXUVRV�WHPRV�RV�FDPSRV���FyGLJR��FXUVR��FXUVR��FXUVR����

������VHW�FQ VHUYHU�FUHDWHREMHFW��DGRGE�FRQQHFWLRQ�������FQ�RSHQ��GVQ DFU���VHW�UV VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW�������UV�RSHQ��VHOHFW� �IURP�FXUVRV�LQQHU�MRLQ��DOXQRV�LQQHU�MRLQ�QRWDV�RQ�DOXQRV�FyGLJR QRWDV�FyGLJR��RQ�FXUVRV�FyGLJR QRWDV�FyGLJR�RUGHU�E\�DOXQRV�QRPH��FQ��GR�ZKLOH�QRW�UV�HRI��!��FHQWHU!��WDEOH�ERUGHU ��ZLGWK ���!��WU!�WK!1RPH��WK!�WK!,GDGH��WK!�WK!6H[R��WK!��WU!��WU!�WG!�� UV��1RPH���!��WG!�WG!�� UV��,GDGH���!��WG!�WG!�� UV��6H[R���!��WG!��WU!�

Page 84: Apostila ASP ACR

ACR Informática

Pág - 84

�WU!�WK�FROVSDQ �!&XUVRV���WK!��WU!��WU!�WG!�� UV��FXUVR����!��WG!�WG!�� UV��FXUVR����!��WG!�WG!�� UV��FXUVR����!��WG!��WU!��WU!�WK�FROVSDQ �!1RWDV���WK!��WU!��WU!�WG!�� UV��DVS���!��WG!�WG!�� UV��FJL���!��WG!�WG!�� UV��KWPO���!��WG!��WU!���WDEOH!���FHQWHU!��S!QEVS���S!����UV�PRYHQH[W�ORRS��!��*HUHQFLDGRU�GH�%DQFR�GH�GDGRV���

9RFr�YDL�SUHFLVDU�GH�XPD�EDQFR�GH�GDGRV�FRP�RV�FDPSRV�SURGXWR��YDORU�VHWRU�IRUQHFHGRU��8VH�FKDYH�SULPiULD�VHUi�FULDGR�XP�FDPSR�FyGLJR�DR�VH�DWLYDU�FKDYH�SULPDULD��8VDUHPRV�R�0pWRGR�GET�GH�FRQH[mR�SDUD�SUDWLFDUPRV�PDLV�XP�SRXFR�HVWH�PpWRGR�TXH�p�XP�GRV�PDLV�XVDGRV�QD�ZHE�KRMH�HP�GLD������VHW�FQ� �VHUYHU�FUHDWHREMHFW��DGRGE�FRQQHFWLRQ���������FQVWULQJ��GULYHU ^0LFURVRIW�$FFHVV�'ULYHU�� �PGE�`�GET ´VHUYHU�PDSSDWK��QRPHEDQFR�PGE´�´�´�FQRSHQ�FQVWULQJ���!���KWPO!��KHDG!��WLWOH!8QWLWOHG�'RFXPHQW��WLWOH!��PHWD�KWWS�HTXLY �&RQWHQW�7\SH��FRQWHQW �WH[W�KWPO��FKDUVHW LVR��������!���KHDG!���ERG\�EJFRORU ��))))))��WH[W ���������!������VHW�UV� �VHUYHU�FUHDWHREMHFW��DGRGE�UHFRUGVHW�������DFDR� �UHTXHVW��DFDR������ LI�DFDR� ��&DGDVWUDU��WKHQ�� � �!��IRUP�QDPH �IRUP���PHWKRG �SRVW��DFWLRQ �VLVWHPD�DVS�!����S�DOLJQ �FHQWHU�!%HP�YLQGR�DR�1RYR�6LVWHPD��S!�����GLY�DOLJQ �FHQWHU�!������WDEOH�ZLGWK� ���!��������75!�����������7'!3URGXWR��7'!����������7'!������������LQSXW�W\SH� �WH[W�QDPH� �SURGXWR!�����������7'!���������75!�

Page 85: Apostila ASP ACR

ACR Informática

Pág - 85

�������75!�����������7'!9DORU��7'!����������7'!������������LQSXW�W\SH� �WH[W�QDPH� �YDORU!�����������7'!���������75!��������75!�����������7'!6HWRU��7'!����������7'!������������LQSXW�W\SH� �WH[W�QDPH� �VHWRU!�����������7'!���������75!��������75!�����������7'!)RUQHFHGRU��7'!����������7'!������������LQSXW�W\SH� �WH[W�QDPH� �IRUQHFHGRU!�����������7'!���������75!�������WDEOH!������S!��������LQSXW�W\SH �VXEPLW��QDPH �DFDR��YDOXH �,QVHULU�!�������S!�����GLY!���IRUP!���� HOVHLI�DFDR� ��%XVFDU��WKHQ�� � UV�RSHQ��VHOHFW� �IURP�WEOSURGXWRV�ZKHUH��UHTXHVW��TXH����OLNH���UHTXHVW��SURGXWR�������FQ�LI�QRW�UV�HRI�WKHQ��!����GR�ZKLOH�QRW�UV�HRI�!��IRUP�QDPH �IRUP���PHWKRG �SRVW��DFWLRQ �VLVWHPD�DVS"FRGLJR �� UV��FyGLJR���!�!����S�DOLJQ �FHQWHU�!%HP�YLQGR�DR�1RYR�6LVWHPD��S!����S�DOLJQ �FHQWHU�!QEVS�����GLY�DOLJQ �FHQWHU�!�������WDEOH�ZLGWK� ���!��������WU!�����������WG!3URGXWR��WG!����������WG!�������������LQSXW�W\SH� �WH[W�QDPH� �SURGXWR�YDOXH ��� UV��SURGXWR���!�!�����������WG!���������WU!��������WU!�����������WG!9DORU��WG!����������WG!�������������LQSXW�W\SH� �WH[W�QDPH� �YDORU�YDOXH ��� UV��YDORU���!�!�����������WG!���������WU!��������WU!�����������WG!6HWRU��WG!����������WG!��

Page 86: Apostila ASP ACR

ACR Informática

Pág - 86

�����������LQSXW�W\SH� �WH[W�QDPH� �VHWRU�YDOXH ��� UV��VHWRU���!�!�����������WG!���������WU!��������WU!�����������WG!)RUQHFHGRU��WG!����������WG!�������������LQSXW�W\SH� �WH[W�QDPH� �IRUQHFHGRU�YDOXH ��� UV��IRUQHFHGRU���!�!�����������WG!���������WU!�������WDEOH!������S!QEVS���S!������S!���������LQSXW�W\SH �VXEPLW��QDPH �DFDR��YDOXH �$SDJDU�!��������LQSXW�W\SH �VXEPLW��QDPH �DFDR��YDOXH �$WXDOL]DU�!�������S!�����GLY!���IRUP!��KU!���UV�PRYHQH[W�!���ORRS�!���HOVH�!��FHQWHU!�K�!1mR�Ki�UHJLVWUR�FDGDVWUDGR�������K�!��FHQWHU!��IRUP�DFWLRQ VLVWHPD�DVS�PHWKRG �SRVW�!����GLY�DOLJQ �FHQWHU�!������LQSXW�W\SH �VXEPLW��QDPH �DFDR��YDOXH �92/7$5�!�����GLY!���IRUP!���HQG�LI�!���� HOVHLI�DFDR� ��$WXDOL]DU��WKHQ�UV�RSHQ��XSGDWH�WEOSURGXWRV�VHW�SURGXWR� ��UHTXHVW��SURGXWR�����YDORU� ��UHTXHVW��YDORU�����VHWRU� ��UHTXHVW��VHWRU�����IRUQHFHGRU� ��UHTXHVW��IRUQHFHGRU����ZKHUH�FyGLJR� ����UHTXHVW�TXHU\VWULQJ��FRGLJR����FQ��!��K��DOLJQ �FHQWHU�!5HJLVWUR�$WXDOL]DGR�FRP�VXFHVVR��������K�!��IRUP�DFWLRQ VLVWHPD�DVS�PHWKRG �SRVW�!����GLY�DOLJQ �FHQWHU�!������LQSXW�W\SH �VXEPLW��QDPH �DFDR��YDOXH �92/7$5�!�����GLY!���IRUP!���� HOVHLI�DFDR� ��$SDJDU��WKHQ�UV�RSHQ��GHOHWH� �IURP�WEOSURGXWRV�ZKHUH�FyGLJR� ���UHTXHVW�TXHU\VWULQJ��FRGLJR����FQ�!��GLY�DOLJQ �FHQWHU�!����K�!5HJLVWUR�DSDJDGR�FRP�VXFHVVR�������K�!���GLY!��IRUP�DFWLRQ VLVWHPD�DVS�PHWKRG �SRVW�!����GLY�DOLJQ �FHQWHU�!������LQSXW�W\SH �VXEPLW��QDPH �DFDR��YDOXH �92/7$5�!�����GLY!���IRUP!���� HOVHLI�DFDR� ��,QVHULU��WKHQ�

Page 87: Apostila ASP ACR

ACR Informática

Pág - 87

�UV�RSHQ��LQVHUW�LQWR�WEOSURGXWRV��SURGXWR�YDORU�VHWRU�IRUQHFHGRU��YDOXHV���UHTXHVW��SURGXWR������UHTXHVW��YDORU�����UHTXHVW��VHWRU�����UHTXHVW��IRUQHFHGRU�������FQ��!��GLY�DOLJQ �FHQWHU�!����K�!'DGRV�*UDYDGRV�&RP�6XFHVVR�������K�!���GLY!��IRUP�DFWLRQ VLVWHPD�DVS�PHWKRG �SRVW�!����GLY�DOLJQ �FHQWHU�!������LQSXW�W\SH �VXEPLW��QDPH �DFDR��YDOXH �92/7$5�!�����GLY!���IRUP!����� HOVH���!��IRUP�QDPH �IRUP���PHWKRG �SRVW��DFWLRQ �VLVWHPD�DVS�!����S�DOLJQ �FHQWHU�!%HP�YLQGR�DR�1RYR�6LVWHPD��S!����S�DOLJQ �FHQWHU�!3DUD�FDVR�GH�EXVFD�LQGLTXH�TXDO�FROXQD�EXVFDU���������VHOHFW�QDPH �TXH�!��������RSWLRQ!&RDFXWH�GLJR��RSWLRQ!��������RSWLRQ!3URGXWR��RSWLRQ!��������RSWLRQ!9DORU��RSWLRQ!��������RSWLRQ!6HWRU��RSWLRQ!��������RSWLRQ!)RUQHFHGRU��RSWLRQ!�������VHOHFW!����S�DOLJQ �FHQWHU�!QEVS�����GLY�DOLJQ �FHQWHU�!������WDEOH�ZLGWK� ����!��������75!�����������7'�ZLGWK �����!3DODYUD�D�VHU�EXVFDGD��7'!����������7'�ZLGWK ����!�������������LQSXW�W\SH� �WH[W�QDPH� �SURGXWR!�����������7'!���������75!�������WDEOH!������S!���������LQSXW�W\SH �VXEPLW��QDPH �DFDR��YDOXH �%XVFDU�!�������S!������S!3DUD�,QVHULU�1RYR�5HJLVWUR���S!������S!���������LQSXW�W\SH �VXEPLW��QDPH �DFDR��YDOXH �&DGDVWUDU�!�������S!�������GLY!���IRUP!����� HQG�LI���!����ERG\!���KWPO!���