NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigos › ASP 3.0 › Capítulo 10 : 03
Quer receber novidades e e-books gratuitos?
« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
SITES DINÂMICOS COM ASP 3.0 - CURSO COMPLETO
Autor: Júlio Battisti


Promoção: Livro Windows Server 2012 R2 e Active Directory - Curso Completo, 2100 Páginas. Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

Promoção: Livro Windows Server 2012 R2 e Active Directory

Curso Completo, 2100 páginas.

Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

MAIS DETALHES | COMPRAR ESTE LIVRO


Lição 080 - Capítulo 10 - Um exemplo prático de utilização do objeto Server

Neste item vamos propor a solução para o seguinte problema clássico:

PROBLEMA: Vamos criar um exemplo baseado que faz conexão com o Banco de dados Nwind.mdb. No nosso exemplo, será apresentada uma página – principal.asp, na qual o usuário selecionará o nome de um País em uma lista de Países. Esta lista de países será montada, dinamicamente, a partir da tabela Customers, de tal maneira  que somente sejam exibidos os países para os quais existem Clientes cadastrados. Além disso a listagem será classificada em ordem alfabética. Após selecionar o País, o usuário clica em um botão Pesquisar. Com isso será retornada uma lista, em forma de tabela, com todos os Clientes para o País selecionado – página listaclientes.asp. O nome do Cliente será um link, que ao ser clicado abrirá uma página com as informações sobre o Cliente – página cliente.asp. Para construir esta página teremos que utilizar alguns métodos do objeto Server.

Na Listagem 10.4, temos o código para a construção da página principal.asp

Listagem 10.4 – Criando, dinamicamente, uma lista de países  – principal.asp.
1             <%@  Language=VBScript %>
2             <HTML>
3             <HEAD>
4             </HEAD>
5             <TITLE>Gera  uma lista de Países dinamicamente.</TITLE>
6             <BODY>
7             <%
8             'O  Primeiro passo é criar a conexão com o Banco de dados.
9             'Para  isto crio um objeto do tipo Connection.
10           'Cria um  Objeto do Tipo ADODB.Connection 
11           Set  conn=Server.CreateObject("ADODB.Connection")
12           'Agora  abro uma conexão com o arquivo nwind.mdb
13           'utilizando  OLE DB.
                 
14           conn.ConnectionString  = "PROVIDER=MICROSOFT.JET.OLEDB.4.0;
                DATA  SOURCE=c:\meus documentos\nwind.mdb"
15           conn.Open 
16           'Agora  criamos um Objeto RecordSet para reapresentar
17           'a lista  de países.
18           Set Paises  = Server.CreateObject("ADODB.Recordset")
19           Paises.Open "Select ShipCountry from Orders Group By ShipCountry Order By ShipCountry", conn, 3, 3
20           'Exibo a  lista de países.
21           %>
22           <P><B>Selecione  um país na lista de países.</B></P>
23           <P><B><I>Depois  clique no botão Pesquisar.</I></B></P>
24           <FORM  action=listaclientes.asp method=post id=form1 name=form1>
25           <SELECT  id=listapaises name=listapaises> 
26           <%
27           'Agora  construo a lista de opções a partir dos
28           'dados  obtidos da tabela Orders.
29           'Para cada  país obtido, crio uma nova opção
30           'na lista.
31           Do While  Not Paises.EOF
32                           Response.Write "<OPTION value=" & Chr(34) & Paises.Fields("ShipCountry") & Chr(34) 
33                           If  Paises.Fields("ShipCountry")= Request.Form("listapaises")  Then
34                                    Response.Write " SELECTED"
35                           End  If
36                           Response.Write  ">" & Paises.Fields("ShipCountry")&  "</OPTION>"
37                           Paises.MoveNext  
38           Loop
39           %>
40           </SELECT>
41           <HR>
42           <INPUT  type="submit" value="Pesquisar" id=Pesquisar  name=Pesquisar>
43           </FORM>
44           </BODY>
45           </HTML>

A Listagem 10.4 dispensa maiores comentários. Já analisamos diversos exemplos semelhantes no Capítulo 7.

Agora precisamos criar a página listaclientes.asp. Está página deverá fazer o seguinte:

  • Receber o valor do país selecionado na lista.
  • Criar um RecordSet com todos os Clientes para o país selecionado.
  • Na hora de exibir os resultados, transformar o nome do funcionário em um Link que ao ser clicado, chama a página cliente.asp. No próprio link será passado o Código do Cliente junto com a URL. Este código será utilizado, pela página cliente.asp para localizar o registro do Cliente na tabela Customers.
  • Para construir este link, utilizaremos o método URLEncode.

Na Listagem 10.5, temos o código para a construção da página listaclientes.asp

Listagem 10.5 – Retornando a lista de clientes para o país selecionado – listaclientes.asp.

1             <%@  Language=VBScript %>
2             <HTML>
3             <HEAD>
4             </HEAD>
5             <TITLE>Lista  de Clientes para o País Selecionado.</TITLE>
6             <BODY>
7             <%
8             'O  Primeiro passo é criar a conexão com o Banco de dados.
9             'Para  isto crio um objeto do tipo Connection.
10           'Cria um  Objeto do Tipo ADODB.Connection 
11           Set  conn=Server.CreateObject("ADODB.Connection")
12           'Agora  abro uma conexão com o arquivo nwind.mdb
13           'utilizando  OLE DB.
                 
14           conn.ConnectionString  = "PROVIDER=MICROSOFT.JET.OLEDB.4.0;
                DATA  SOURCE=c:\meus documentos\nwind.mdb"
15           conn.Open 
16           'Agora  criamos um Objeto RecordSet para reapresentar
17           'a lista  de países.
18           Set  Clientes = Server.CreateObject("ADODB.Recordset")
19           Clientes.Open "Select * from Customers where Country='" & Request.Form("listapaises")&"' Order By CompanyName", conn, 3, 3
20           'Exibo a  lista de Clientes e o País.
21           %>
22           <HR>
23           <B>Lista  de Clientes para:
                
24           <%  =Request.Form("listapaises") %>
25           <HR>
                
26           <TABLE  border=1 width=100%>
                
27           <TR>
28              <TD><B>Nome do Cliente</B></TD>
29              <TD><B>País</B></TD>
30           </TR>
31           <%
32           Clientes.MoveFirst 
33           Do Until  Clientes.EOF 
34           %>
35           <TR>
36              <TD>
37                 <FONT FACE="Arial">
38                 <P>
39                 <A  HREF="http://servidor/capitulo10/cliente.asp?Codigo=<% 
                      =server.URLEncode(Clientes.Fields("CustomerID"))%>">
                       <%=Clientes.Fields("CompanyName")%>
40           </A>
41           </FONT>
42           </TD>
43              <TD><% =  Clientes.Fields("Country") %> 
44           </TD>
45           </TR>
46           <%
47           Clientes.MoveNext 
48           Loop
49           %>
50           </TABLE>
                
51           <HR>
                
52           </BODY>
53           </HTML>

O que temos de especial na página listaclientes.asp é o seguinte trecho de código:

36              <TD>
37                 <FONT FACE="Arial">
38                 <P>
39                 <A  HREF="http://servidor/capitulo10/cliente.asp?Codigo=
                      <% =server.URLEncode(Clientes.Fields("CustomerID"))%>">
                       <%=Clientes.Fields("CompanyName")%>
40           </A>
41           </FONT>
42           </TD>

Neste trecho estamos montando a primeira coluna da tabela. Utilizamos a tag HTML <A HREF=> </A> para construir um link. Dentro deste link, construímos a seguinte URL:

http://servidor/capitulo10/cliente.asp?Codigo=

Depois utilizamos o seguinte código ASP:

<%  =server.URLEncode(Clientes.Fields("CustomerID"))%>

Este código passa o campo CustomerID como parâmetro para o método URLEncode, o qual irá converter qualquer caracter não permitido em uma URL para o equivalente permitido, conforme descrito anteriormente. Vamos supor que o código do clientes seja JSILVA. Neste ponto o nosso link estará assim:

http://servidor/capitulo10/cliente.asp?Codigo=JSILVA

Depois utilizamos o seguinte código ASP:

<%=Clientes.Fields("CompanyName")%>

Este código simplesmente exibirá o Nome do Cliente, que é o texto que aparecerá como texto do Link. Observe que montamos o link de tal forma que o parâmetro que será passado na URL é o Código do Cliente (CustomerID), porém o texto que será exibido na página é o Nome do Cliente (CompanyName). Estamos passando o Código do Cliente como parâmetro, porque este campo é uma Chave Primário e, portanto, não existirão dois clientes com o mesmo código. Porém existe a possibilidade de existirem dois clientes com o mesmo nome.

Com isso montamos, facilmente, um link para cada um dos clientes. Será exibido o nome do cliente como sendo o link. Quando o usuário clicar no nome do Cliente, será passado, juntamente com a URL o código do Cliente como parâmetro de pesquisa para a página Cliente.asp. O passo final da nossa aplicação é construir a página cliente.asp e depois testar o funcionamento da mesma.

Na Listagem 10.6, temos o código para a construção da página cliente.asp

Listagem 10.6 – Localizando o registro do cliente. – cliente.asp.

1             <%@  Language=VBScript %>
2             <HTML>
3             <HEAD>
4             <TITLE>Lista  para o Cliente <% = Request.QueryString("Codigo") %>  !!</TITLE>
5             </HEAD>
6             <BODY>
7             <%
8             'O  Primeiro passo é criar a conexão com o Banco de dados.
9             'Para  isto crio um objeto do tipo Connection.
10           'Cria um  Objeto do Tipo ADODB.Connection 
11           Set  conn=Server.CreateObject("ADODB.Connection")
12           'Agora  abro uma conexão com o arquivo nwind.mdb
13           'utilizando  OLE DB.
                 
14           conn.ConnectionString  = "PROVIDER=MICROSOFT.JET.OLEDB.4.0;
                DATA  SOURCE=c:\meus documentos\nwind.mdb"
15           conn.Open 
16           'Agora  criamos um Objeto RecordSet para reapresentar
                'o  Cliente.
17           Set  Cliente = Server.CreateObject("ADODB.Recordset")
                Cliente.Open  "Select * from Customers where CustomerID='" & 
                Request.QueryString("codigo")  & "'", conn, 3, 3
18           'Exibo os  dados do Cliente.
                
19           %>
20           <HR>
21           <B>REGISTRO  PARA O CLIENTE:</B>
22           <%  =Cliente.Fields("CompanyName")%>
23           <HR>
24           <A  HREF="principal.asp">Clique aqui para selecionar outro  país.</A>
25           <HR>
                
26           <TABLE  border=1 cellPadding=1 cellSpacing=1 width="100%">
  
27           <TR>
28                           <TD>Código  do Cliente:</TD>
29                           <TD><B><%  =Cliente.Fields("CustomerID")%></B></TD>
30           </TR>
31           <TR>
32               <TD>Nome do Cliente:</TD>
33               <TD><B><%  =Cliente.Fields("CompanyName")%></B></TD>
34           </TR>
35           <TR>
36               <TD>   Contato:</TD>
37               <TD><B><%  =Cliente.Fields("ContactName")%></B></TD>
38           </TR>  
39           <TR>
40               <TD>   Endereço:</TD>
41               <TD><B><% =Cliente.Fields("Address")%></B></TD>
42           </TR>  
43           <TR>
44               <TD>   Cidade:  </TD>
45               <TD><B><%  =Cliente.Fields("City")%></B></TD>
46           </TR>  
47           <TR>
48               <TD>   CEP:</TD>
49               <TD><B><%  =Cliente.Fields("PostalCode")%></B></TD>
50           </TR>  
51           <TR>
52               <TD>   Fone:</TD>
53               <TD><B><%  =Cliente.Fields("Phone")%></B></TD>
54           </TR>  
55           <TR>
56               <TD>   Fax:</TD>
57               <TD><B><%  =Cliente.Fields("Fax")%></B></TD>
58           </TR>  
59           <TR>
60               <TD>   País:</TD>
61               <TD><B><%  =Cliente.Fields("Country")%></B></TD>
62           </TR>    
63           <HR>    
        
 64          </TABLE>
65           </BODY>
66           </HTML>

Observe que utilizamos código ASP na tag <TITLE></TITLE>, o que é possível, sem maiores problemas.

Outro detalhe a ser observado é que utilizamos o método Request.QueryString. Isto foi feito, porque o código do Cliente foi passado na própria URL. É como se estivéssemos utilizando o método get da tag <FORM>. Por isso para recuperar o valor passado como parâmetro, precisamos utilizar o método Request.QueryString ao invés de Request.Form.

Agora vamos ver a nossa aplicação em funcionamento.

Na Figura 10.4 vemos que foi carregada a página principal.asp e o usuário selecionou  Argentina na lista de Países.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 10.4 O usuário selecionou Argentina na Lista de países.

Ao clicar no botão Pesquisar é chamada a página listaclientes.asp, a qual exibe uma listgem com todos os Clientes da Argentina, conforme mostrado na Figura 10.5.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 10.5 A listagem dos clientes da Argentina.

Observe que o nome de cada Cliente é um link. Se clicarmos no nome do Cliente, será chamada a página Cliente.asp e será passado, na própria URL o código do cliente. Com isso são exibidos os dados do Cliente. Na Figura 10.6, temos o exemplo para o caso em que o usuário clicou no link para o cliente: Rancho Grande.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 10.6 Dados do cliente Rancho Grande.

Observe no campo endereço, que temos a seguinte URL:

http://servidor/capitulo10/cliente.asp?Codigo=RANCH

O Código do cliente foi “passado” na própria URL.

O usuáro pode clicar no link “Clique aqui para selecionar outro país.”, para voltar a página principal.asp e fazer uma nova pesquisa. O usuário também pode clicar no botão Voltar do Navegador, para retornar a página listaclientes.asp, com a lista de Clientes da argentina e clicar em um outro Cliente para ver os dados do mesmo.

Com este exemplo prático, encerramos o estudo do objeto Server. Nos próximos itens aprenderemos a utilizar alguns componentes que são fornecidos juntamente com o IIS.


Promoção: Livro Windows Server 2012 R2 e Active Directory - Curso Completo, 2100 Páginas. Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

Promoção: Livro Windows Server 2012 R2 e Active Directory

Curso Completo, 2100 páginas.

Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

MAIS DETALHES | COMPRAR ESTE LIVRO


« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
Quer receber novidades e e-books gratuitos?

Cursos Online

  • Banco de Dados
  • Carreira
  • Criação/Web
  • Excel/Projetos
  • Formação
  • + Todas as categorias
  • Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

    Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

    Todos os direitos reservados, Júlio Battisti 2001-2019 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI