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 05 : 10
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 043 - Capítulo 05 - Criando um formulário para pesquisa

Vamos aprender mais alguns detalhes, através da utilização de um exemplo bastante comum no dia a dia.

PROBLEMA: Criar um formulário, onde o usuário possa digitar o número do produto e clicar em um botão Pesquisar. Ao clicar neste botão é chamada uma página ASP (a qual é definida no atributo action da tag FORM), a qual conecta com o Banco de dados nwind.mdb, através da fonte ODBC nwind e exibe as informações da tabela Produtos, para o produto cujo código foi digitado no formulário de pesquisa. Na página ASP deve ter um formulário para o usuário digitar outro código e clicar em um botão Pesquisar, para buscar as informações de outro produto. Neste caso ao clicar no botão Pesquisar da página ASP, a própria página ASP será chamada (através da definição do atributo action da tag FORM). A página ASP fará a pesquisa para o novo código digitado e exibirá o produto correspondente.

SOLUÇÃO: Para solucionar este problema, temos duas etapas:

  • A criação da página HTML com o formulário de pesquisa.
  • A criação da página ASP para responder a requisição do formulário de pesquisa.

Criando a página HTML com o formulário de pesquisa.

A criação desta página é extremamente simples, utilizando os conhecimentos que foram apresentados até o momento.

Na Listagem 5.3 temos o código para criação do formulário de pesquisa.

Listagem 5.3 – O Formulário de pesquisa para o usuário digitar o código do produto – produto.htm.

1          <HTML>

2          <HEAD>

3          <TITLE>Pesquisa de Produtos !!!</TITLE>

4          </HEAD>

5          <BODY>

6          <P><FONT color=navy>

7          <B>PESQUISA DE PRODUTOS.</B>

8          </FONT>

9          </P>

10        <FORM action=produto.asp method=post>

11        <P><FONT color=#000080><B>Digite o Código (de 1 a 77):

12        <INPUT id=codigo maxLength=2 name=codigo size=5>

13        </B>

14        </FONT></P>

15        <P><B><FONT color=#000080>

16        <INPUT id=pesquisar name=pesquisar type=submit value="Clique aqui para pesquisar o   produto !!" >

17        </FONT>

18        </B>

19        </P>

20        </FORM>

21        </BODY>

22        </HTML>

Ao visualizarmos este formulário no Internet Explorer, obtemos o resultado indicado na Figura 5.38.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 5.38 O Formulário para pesqusa do produto.

Estamos pedindo para que seja digitado um número entre 1 e 77 pois estes são os dados existentes para produtos no Banco de dados Nwind.mdb. Porém faremos um teste, iremos digitar um código 95 e mandar pesquisar, a nossa página ASP detectará que não existe nenhum produto com este código e avisará que nenhum produto foi encontrado para o código digitado.

Criando a página ASP para pesquisar no Banco de dados.

A criação desta página apresenta alguns elementos novos, ainda não apresentados até o momento.

Na Listagem 5.4 temos o código para criação da página ASP. Após o Listagem apresentaremos os esclarecimentos necessários.

Listagem 5.4 – A página ASP para pesquisar no Banco de dados – produto.asp.

1          <%@ Language=VBScript %>

2          <HTML>

3          <HEAD>

4          <TITLE>Pesquisa de Produto !!</TITLE>

5          </HEAD>

6          <BODY>

7          <H2>

8          <FONT color=navy>Resultado para a Pesquisa.</FONT>

9          </H2>

10        <P><FONT color=navy>

11        <B>PESQUISA DE PRODUTOS.</B>

12        </FONT>

13        </P>

14        <FORM action=produto.asp method=post id=form1 name=form1>

15        <P><FONT color=#000080><B>Digite o Código (de 1 a 77):

16        <INPUT id=codigo maxLength=2 name=codigo size=5>

17        </B>

18        </FONT></P>

19        <P><B><FONT color=#000080>

20        <INPUT id=pesquisar name=pesquisar type=submit value="Clique aqui para pesquisar o   produto !!" >

21        </FONT>

22        </B>

23        </P>

24        </FORM>

25        <%

26        'O Primeiro passo é criar a conexão com o Banco de dados

27        'Para isto crio um objeto do tipo Connection

28        'Cria um Objeto do Tipo ADODB.Connection

29        Set conn=Server.CreateObject("ADODB.Connection")

30        'Agora abro uma conexão com a fonte ODBC "nwind"

31        'criada anteriormente.

             

32        conn.Open "nwind"

33        'O próximo passo é criar uma instrução SQL

34        sqlbuscaproduto ="SELECT * FROM Produtos where ProductID=" &          Request.Form("codigo")

35        'Esta instrução SQL retorna o Produto cujo código

36        'é igual ao código digitado no Formulário de pesquisa.

37        'Agora criamos um Objeto RecordSet.

38        'Este Objeto irá executar a instrução SQL e

39        'receber o resultado da Consulta.

40        Set Produto = Server.CreateObject("ADODB.Recordset")

41        'Agora executamos a Instrução SQL

42        Produto.Open sqlbuscaproduto, conn, 3, 3

43        'Os dois últimos parâmetros serão discutidos

44        'no próximo Capítulo.

45        'Agora retorno as informações do produto encontrado.

46        'Caso não tenha sido encontrado nenhum produto, informo.

47        %>

48        <HR>

49        <%

50        If Produto.RecordCount = 0 Then

51              Response.Write "Nenhum produto foi encontrado para o código: "

52              Response.Write Request.Form("codigo") & "<BR>"

53              Response.Write "Tente pesquisar um outro codigo !"

54              Response.Write "<HR>"

55        Else

56              Response.Write "<B>DADOS DO PRODUTO:</B><BR>"

57              Response.Write "Código: " & produto.Fields("ProductID") & "<BR>"

58              Response.Write "Nome: " & produto.Fields("ProductName") & "<BR>"           

59              Response.Write "Cód. Fornec.: " & produto.Fields("SupplierID") & "<BR>"

60              Response.Write "Cód. Categ.: " & produto.Fields("CategoryID") & "<BR>"

61              Response.Write "Preço Unit.: " & produto.Fields("UnitPrice") & "<BR>"

62              Response.Write "Estoque: " & produto.Fields("UnitsInStock") & "<BR>"

63              Response.Write "<HR>"

64        End If

65        %>     

66        </BODY>

67        </HTML>

Agora vamos testar o nosso exemplo.  Na figura 5.39 temos o formulário de pesquisa carregado, onde o usuário digitou o código 32.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 5.39 Pesquisando o produto cujo código é 32.

Ao clicarmos no botão “Clique aqui para pesquisar o produto !!”, é retornado o resultado indicado na Figura 5.40:

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 5.40 O resultado da pesquisa para o produto com código 32.

Observe que no próprio formulário do resultado, colocamos a opção do usuário entrar com um novo código para fazer outra pesquisa, conforme havíamos proposto na apresentação deste problema.

Agora vamos fazer o seguinte teste: Vamos digitar um código para um produto que não existe e clicar fazer a pesquisa. Por exemplo, digite o código 89 e clique no botão de pesquisa. Você obterá os resultados indicados na Figura 5.41:

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 5.41 Resultados para a pesquisa de um produto que não existe.

Observe que além de informar que o produto não foi encontrado, é informado qual o código que foi digitado.

Agora vamos fazer alguns comentários sobre a Listagem 5.4

  • O primeiro ponto a comentar é a construção da instrução SQL na linha 34.

34        sqlbuscaproduto ="SELECT * FROM Produtos where ProductID=" &          Request.Form("codigo")

Nesta construção estamos utilizando a cláusula Where para especificar um critério. Ao executar a página ASP, o código Request.Form(“Código”) é substituído pelo valor digitado pelo usuário. Vamos supor que o usuário digitou 32 para o código. Neste caso a nossa instrução SQL ficaria assim:

SELECT * FROM Produtos where ProductID=32

que é justamente a instrução SQL que retorna o produto cujo código é 32, ou seja, a instrução que retorna o produto cujo código é igual ao código digitado no formulário de pesquisa. Este é uma técnica bastante útil, pois inúmeras vezes precisamos construir instruções semelhantes a esta em nossas aplicações Web.

Um detalhe que devemos levar em consideração é quando o critério a ser pesquisado é do tipo texto. Neste caso, devemos colocar o critério entre apóstrofes. Para fazer isso utilizamos a função Chr(39) (39 é o código ASCII para o apóstrofe) antes e depois do critério, pois se digitarmos o código diretamente na página ASP, será gerado um erro em tempo de execução. No exemplo abaixo é ilustrado esta técnica, onde estamos especificando um critério para o campo Cidade, o qual é do tipo texto:

sqlbuscaproduto ="SELECT * FROM Clientes where Cidade=" & Chr(39) Request.Form("Cidade") & Chr(39).

Observe o Chr(39) antes e depois do critério.

  • Também gostaria de comentar o seguinte trecho de código:

50        If Produto.RecordCount = 0 Then

51              Response.Write "Nenhum produto foi encontrado para o código: "

52              Response.Write Request.Form("codigo") & "<BR>"

53              Response.Write "Tente pesquisar um outro codigo !"

54              Response.Write "<HR>"

55        Else

56              Response.Write "<B>DADOS DO PRODUTO:</B><BR>"

57              Response.Write "Código: " & produto.Fields("ProductID") & "<BR>"

58              Response.Write "Nome: " & produto.Fields("ProductName") & "<BR>"           

59              Response.Write "Cód. Fornec.: " & produto.Fields("SupplierID") & "<BR>"

60              Response.Write "Cód. Categ.: " & produto.Fields("CategoryID") & "<BR>"

61              Response.Write "Preço Unit.: " & produto.Fields("UnitPrice") & "<BR>"

62              Response.Write "Estoque: " & produto.Fields("UnitsInStock") & "<BR>"

63              Response.Write "<HR>"

64        End If

Neste caso utilizamos a propriedade RecordCount do objeto Recordset. Caso esta propriedade seja igual a zero, significa que nenhum registro foi encontrado. Neste caso, informamos o usuário que nenhum produto foi encontrado.

Caso tenha sido encontrado algum produto, retornamos os dados sobre o Produto, o que é feito na parte Else do laço If..Then...Else.

No próximo capítulo iremos tratar de algumas técnicas mais avançadas de pesquisa.


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