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: PrincipalArtigosSQL Server 2005 › Capítulo 11 : 19
Quer receber novidades e e-books gratuitos?
« Lição anterior Curso Completo de SQL Server 2005 - Júlio Battisti Δ Página principal Curso Completo de SQL Server 2005 - Júlio Battisti ¤ Capítulos Curso Completo de SQL Server 2005 - Júlio Battisti Próxima lição »
SQL Server 2005 - CURSO COMPLETO

Autor: Júlio Battisti
Lição 200 - Capítulo 11 - PARA LOCALIZAR UM REGISTRO

Para que possamos localizar um registro, ou um conjunto de registros com base em um ou mais critérios, basta construirmos uma instrução SQL que retorna os dados desejados. Por exemplo, se quisermos pesquisar um determinado produto na tabela Products, do Banco de Dados Northwind. Criamos um formulário HTML onde o usuário pode digitar o código do produto. O valor digitado é passado para uma página ASP, utilizando a opção Action, da tag FORM. A página ASP recebe o valor digitado, utilizando Request.Form(“NomeDoCampoNoFormulário”). Com o valor recebido, a página ASP monta uma instrução SQL, utilizando o código digitado como filtro. Os resultados são exibidos em uma tabela criada com código HTML.

Vamos a um exemplo bastante simples. O nosso exemplo será composto de duas páginas ASP. A primeira página será chamada ListaPaises.asp. Esta página obtém uma lista de todos os países para os quais existe pedidos na tabela Orders do Banco de Dados Northwind da instância SERVIDOR\SQL2005. Selecionamos um dos países da lista e clicamos em um botão Pesquisar. Ao clicarmos no botão Pesquisar, será chamada uma segunda página ASP – PaisesObtidos.asp. Esta segunda página exibe uma listagem com os campos OrderID, OrderDate, ShipCity e ShipCountry para todos os pedidos do país selecionado na página ListaPaises.asp.

No Exemplo 11.6, temos a listagem que cria a página ListaPaises.asp.

Exemplo 11.6 – Página ASP que cria a listagem de países – ListaPaises.asp.

1  <%@ Language=VBScript %>

2 <HTML>

3 <HEAD>

4 </HEAD>

5 <TITLE>Selecione o País de destino.</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 Banco de Dados Northwind

13 ‘utilizando OLE DB.

14 conn.ConnectionString = “PROVIDER=SQLOLEDB;

Data Source=SERVIDOR\SQL2005;Initial Catalog=Northwind;

User ID=sa;Password=abc123”

15 conn.Open

16 ‘Agora criamos um objeto RecordSet.

17 ‘Este objeto irá acessar o campo ShipCountry

18 ‘da tabela Produtos

19 Set Paises = Server.CreateObject(“ADODB.Recordset”)

20 Paises.Open “Select ShipCountry from Orders Group By ShipCountry Order By ShipCountry”,

  conn, 3, 3

21 ‘Neste ponto tenho o objeto Paises com uma listagem

22 ‘em ordem ascendente, dos países para os quais existem

23 ‘pedidos efetuados.

24 %>

25 <P><B>Selecione o país a ser pesquisado.</B></P>

26 <P><B><I>Depois clique no botão Pesquisar.</I></B></P>

27 <FORM action=PaisesObtidos.asp method=post id=form1 name=form1>

28 <SELECT id=listapaises name=listapaises>

29 <%

30 ‘Agora construo a lista de opções a partir dos

31 ‘dados obtidos da tabela Orders.

32 ‘Para cada país obtido, crio uma nova opção

33 ‘na lista.

34 Do While Not Paises.EOF

35 Response.Write “<OPTION value=” & Chr(34) & Paises.Fields(“ShipCountry”) & Chr(34)

  & “>” & Paises.Fields(“ShipCountry”)& “</OPTION>”

36 Paises.MoveNext

37 Loop

38 %>

39 </SELECT>

40 <BR>

41 <HR>

42 <INPUT type=“submit” value=Pesquisar id=Pesquisar name=Pesquisar>

43 </FORM>

44 </BODY>



45 </HTML>

Ao carregarmos a página ListaPaises.asp, obtemos o resultado indicado na Figura 11.42.

SQL Server 2005 Completo - Julio Battisti
Figura 11.42 A página ListaPaises.asp.

Agora precisamos construir a página PaisesObtidos.asp. Esta página receberá o valor selecionado na lista, e utilizará este valor como critério de pesquisa. O nome da lista na página ListaPaises.asp é listapaises. O que define o nome de um campo em um formulário é a opção id, como indicado no fragmento de código a seguir:

28  <SELECT id=listapaises  name=listapaises>

A página PaisesObtidos.asp também exibirá os resultados obtidos.

Na Listagem 11.7, temos o código que cria a página PaisesObtidos.asp.

Exemplo 11.7 – Utilizando o país selecionado como critério de pesquisa – PaisesObtidos.asp.

1  <%@ Language=VBScript %>

2 <HTML>

3 <HEAD>

4 </HEAD>

5 <TITLE>Resultados da pesquisa para  <%=Request.Form(“listapaises”) %>.</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 conn.ConnectionString = “PROVIDER=SQLOLEDB;

Data Source=SERVIDOR\SQL2005;Initial Catalog=Northwind;

User ID=sa;Password=abc123”

13 conn.Open

14 ‘Agora criamos um objeto RecordSet.

15 ‘Este objeto irá utilizar o país selecionado como critério de pesquisa

18 ‘na tabela Orders. Feito isso teremos os pedidos para o país selecionado na lista.

19 Set Pedidos = Server.CreateObject(“ADODB.Recordset”)

20 Pedidos.Open “Select OrderID, OrderDate, ShipCity, ShipCountry from Orders WHERE

  ShipCountry=’” &  Request.Form(“listapaises”) & “‘“ , conn, 3, 3

21 ‘Vamos exibir novamente a lista de países para que o usuário

22 ‘possa selecionar outro país e fazer outra pesquisa.

23 ‘Agora criamos um objeto RecordSet.

24 ‘Este objeto irá acessar o campo ShipCountry

25 ‘da tabela Orders.

26 Set Paises = Server.CreateObject(“ADODB.Recordset”)

27 Paises.Open “Select ShipCountry from Orders Group By ShipCountry Order By ShipCountry”,

  conn, 3, 3

28 ‘Neste ponto tenho o objeto Paises com uma listagem

29 ‘em ordem ascendente, dos países para os quais existem

30 ‘pedidos efetuados.

31 %>

32 <B>Selecione outro país para fazer uma nova pesquisa.</B><BR>

33 <B><I>Depois clique no botão Pesquisar.</I></B><BR>

34 <FORM action=PaisesObtidos.asp method=post id=form1 name=form1>

35 <SELECT id=listapaises name=listapaises>

36 <%

37 ‘Agora construo a lista de opções a partir dos

38 ‘dados obtidos da tabela Orders.

39 ‘Para cada país obtido, crio uma nova opção

40 ‘na lista.

41 Do While Not Paises.EOF

42 -   Response.Write “<OPTION value=” & Chr(34) & Paises.Fields(“ShipCountry”) & Chr(34)

43 -   If Paises.Fields(“ShipCountry”)= Request.Form(“listapaises”) Then

44 -   Response.Write “SELECTED”

45 -   End If

46 -   Response.Write “>” & Paises.Fields(“ShipCountry”)& “</OPTION>”

47 -   Paises.MoveNext

48 -   Loop

49 %>

50 </SELECT>

51

52 <HR>

53 <INPUT type=“submit” value=Pesquisar id=Pesquisar name=Pesquisar>

54 </FORM>

55 <%

56 ‘Exibo os resultados obtidos.

57 %>

58 <B>Relação de pedidos para: <% =Request.Form(“listapaises”) %>.</B>

59 <HR>

60 <% ‘Agora exibo os resultados utilizando uma tabela. %>

61 <TABLE border=1>

62 -   <TR>

63 -   <TD><B>Código</B></TD>

64 -   <TD><B>Data</B></TD>

65 -   <TD><B>Cidade</B></TD>

66 -   <TD><B>País</B></TD>

67   </TR>

68 <%

69 -   Do While Not Pedidos.EOF

70 %>

71 -   <TR>

72 -   <TD><% =Pedidos.Fields(“OrderID”) %></TD>

73 -   <TD><% =Pedidos.Fields(“OrderDate”) %></TD>

74 -   <TD><% =Pedidos.Fields(“ShipCity”)  %></TD>

75 -   <TD><I><% =Pedidos.Fields(“ShipCountry”) %></I></TD>

76 -   </TR>

77 <% Pedidos.MoveNext

78 Loop

79 %>

80 </TABLE>

81 <BR>

82 <HR>

83 </BODY>



84 </HTML>
Utilizando o Nosso Exemplo

Agora vamos utilizar o nosso exemplo para comprovar o correto funcionamento do mesmo.

Ao carregar a página ListaPaises.asp, obtemos o resultado indicado na Figura 11.42, indicada anteriormente.

Vamos supor que o usuário selecionou “Norway”, na lista de países. Ao clicar no botão Pesquisar, serão exibidos apenas os Pedidos o país selecionado, conforme indicado na Figura 11.43.

SQL Server 2005 Completo - Julio Battisti
Figura 11.43 Exibindo os pedidos para a “Norway”.

Observe que novamente é exibida a lista de países e o país selecionado anteriormente aparece selecionado na lista. Para pesquisar os pedidos para outro país é só selecionar o país desejado na lista, e clicar no botão Pesquisar. Veja que com isso construímos um formulário de pesquisa bastante interativo. O usuário seleciona o país desejado, e manda pesquisar. Cada vez que o usuário seleciona um país diferente na lista e clica no botão Pesquisar; o novo valor selecionado é utilizado como critério de filtragem e somente os registros que atendem ao critério serão retornados.

« Lição anterior Curso Completo de SQL Server 2005 - Júlio Battisti Δ Página principal Curso Completo de SQL Server 2005 - Júlio Battisti ¤ Capítulos Curso Completo de SQL Server 2005 - Júlio Battisti Próxima lição »

você conhece a universidade do access?

Universidade do Access - Curso Completo de Access
com tudo para você dominar o Access - do Básico ao
Avançado - até a Criação de Sistemas Profissionais
Completos - Passo a Passo - Tela a Tela

Capa da Universidade do Access

Aplica-se ao Access 2019, 2016, 2013 e 2010!

13 Cursos - 574 Vídeo-Aulas - 63:32 horas

Para todos os detalhes, acesse:

https://juliobattisti.com.br/universidade-do-access.asp

Quer receber novidades e e-books gratuitos?

 
 

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-2024 ®

LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO

DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI