Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thebadashark2005

Consulta sempre traz o mesmo resultado

Recommended Posts

Galera mas uma vez eu aqui. Bom agora to com o Dreamweaver.

Criei um código chamado busca.asp que traz todos os números de beneficios que tem no banco de dados e outro resultado.asp que deveria apresentar os resultados contidos no banco de dados relativos ao número fornecido.

Só que ele sempre esta trazendo apenas um resultado. Segue os códigos:

busca.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/controlproc.asp" -->
<%
Dim Nb
Dim Nb_numRows

Set Nb = Server.CreateObject("ADODB.Recordset")
Nb.ActiveConnection = MM_controlproc_STRING
Nb.Source = "SELECT * FROM processos ORDER BY nb ASC"
Nb.CursorType = 0
Nb.CursorLocation = 2
Nb.LockType = 1
Nb.Open()

Nb_numRows = 0
%>
<html>
<head>
<title>Documento sem título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<p>CONSULTA DE PROCESSOS</p>
<form name="form1" method="get" action="resultado.asp">
  <table border="1">
	<tr>
	  <td>Escolha o número do Benefício</td>
	  <td>
<select name="select">
		  <%
While (NOT Nb.EOF)
%>
		  <option value="<%=(Nb.Fields.Item("nb").Value)%>"><%=(Nb.Fields.Item("nb").Value)%></option>
		  <%
  Nb.MoveNext()
Wend
If (Nb.CursorType > 0) Then
  Nb.MoveFirst
Else
  Nb.Requery
End If
%>
		</select></td>
	</tr>
	<tr>
	  <td>
<input type="submit" name="Submit" value="Buscar"></td>
	  <td> </td>
	</tr>
  </table>
</form>
<p>  </p>
</body>
</html>
<%
Nb.Close()
Set Nb = Nothing
%>
resultado.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> 
<!--#include file="Connections/controlproc.asp" -->
<%
Dim Resultado
Dim Resultado_numRows

Set Resultado = Server.CreateObject("ADODB.Recordset")
Resultado.ActiveConnection = MM_controlproc_STRING
Resultado.Source = "SELECT data, nb, nome, servidor, sipps, tipos FROM processos"
Resultado.CursorType = 0
Resultado.CursorLocation = 2
Resultado.LockType = 1
Resultado.Open()

Resultado_numRows = 0
%>
<html>
<head>
<title>Documento sem título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<p>RESULTADO DA CONSULTA</p>
<form name="form1" method="post" action="">
  <table width="42%" border="1">
	<tr> 
	  <td width="19%">Beneficio</td>
	  <td width="81%"><%=(Resultado.Fields.Item("nb").Value)%></td>
	</tr>
	<tr> 
	  <td>Nome</td>
	  <td><%=(Resultado.Fields.Item("nome").Value)%></td>
	</tr>
	<tr> 
	  <td>Sipps:</td>
	  <td><%=(Resultado.Fields.Item("sipps").Value)%></td>
	</tr>
	<tr> 
	  <td>Data:</td>
	  <td><%=(Resultado.Fields.Item("data").Value)%></td>
	</tr>
	<tr> 
	  <td>Tipo</td>
	  <td><%=(Resultado.Fields.Item("tipos").Value)%></td>
	</tr>
	<tr> 
	  <td>Servidor</td>
	  <td><%=(Resultado.Fields.Item("servidor").Value)%></td>
	</tr>
  </table>
</form>
<p>Se quiser efetuar uma nova busca: <a href="busca.asp">clique 
  aqui</a></p>
</body>
</html>
<%
Resultado.Close()
Set Resultado = Nothing
%>
Depois que seleciono um número de beneficio clico em buscar e sempre me traz o mesmo resultado.

O que esta faltando gente.

 

Muito Obrigado

 

Thebadshark

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ted inseri um while mas continua trazendo um mesmo resultado independente do número de beneficio que escolha na lista de menu. Segue código para análise:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/controlproc.asp" -->
<%
Dim ResultadoPesquisa
Dim ResultadoPesquisa_numRows

Set ResultadoPesquisa = Server.CreateObject("ADODB.Recordset")
ResultadoPesquisa.ActiveConnection = MM_controlproc_STRING
ResultadoPesquisa.Source = "SELECT * FROM processos ORDER BY nb ASC"
ResultadoPesquisa.CursorType = 0
ResultadoPesquisa.CursorLocation = 2
ResultadoPesquisa.LockType = 1
ResultadoPesquisa.Open()

ResultadoPesquisa_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = 1
Repeat1__index = 0
ResultadoPesquisa_numRows = ResultadoPesquisa_numRows + Repeat1__numRows
%>
<html>
<head>
<title>Resultado de Pesquisa</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>

<p>Resultado da Pesquisa</p>
<table border="1">
  <tr align="center"> 
	<td>Benefício</td>
	<td>Nome</td>
	<td>Sipps</td>
	<td>Data</td>
	<td>Tipo</td>
	<td>Matricula</td>
	<td>Servidor</td>
  </tr>
  <% 
While ((Repeat1__numRows <> 0) AND (NOT ResultadoPesquisa.EOF)) 
%>
  <tr> 
	<td><%=(ResultadoPesquisa.Fields.Item("nb").Value)%></td>
	<td><%=(ResultadoPesquisa.Fields.Item("nome").Value)%></td>
	<td><%=(ResultadoPesquisa.Fields.Item("sipps").Value)%></td>
	<td><%=(ResultadoPesquisa.Fields.Item("data").Value)%></td>
	<td><%=(ResultadoPesquisa.Fields.Item("tipos").Value)%></td>
	<td><%=(ResultadoPesquisa.Fields.Item("matricula").Value)%></td>
	<td><%=(ResultadoPesquisa.Fields.Item("servidor").Value)%></td>
  </tr>
  <% 
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  ResultadoPesquisa.MoveNext()
Wend
%>
</table>
<p>Para consultar um novo processo: <a href="index.htm">clique aqui</a></p>
</body>
</html>
<%
ResultadoPesquisa.Close()
Set ResultadoPesquisa = Nothing
%>
Poxa se puder me ajudar eu fico grato mais uma vez!

Vlw

Thebadshark

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ted inseri um while mas continua trazendo um mesmo resultado independente do número de beneficio que escolha na lista de menu. Segue código para análise:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/controlproc.asp" -->
<%
Dim ResultadoPesquisa
Dim ResultadoPesquisa_numRows

Set ResultadoPesquisa = Server.CreateObject("ADODB.Recordset")
ResultadoPesquisa.ActiveConnection = MM_controlproc_STRING
ResultadoPesquisa.Source = "SELECT * FROM processos ORDER BY nb ASC"
ResultadoPesquisa.CursorType = 0
ResultadoPesquisa.CursorLocation = 2
ResultadoPesquisa.LockType = 1
ResultadoPesquisa.Open()

ResultadoPesquisa_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = 1
Repeat1__index = 0
ResultadoPesquisa_numRows = ResultadoPesquisa_numRows + Repeat1__numRows
%>
<html>
<head>
<title>Resultado de Pesquisa</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>

<p>Resultado da Pesquisa</p>
<table border="1">
  <tr align="center"> 
	<td>Benefício</td>
	<td>Nome</td>
	<td>Sipps</td>
	<td>Data</td>
	<td>Tipo</td>
	<td>Matricula</td>
	<td>Servidor</td>
  </tr>
  <% 
While ((Repeat1__numRows <> 0) AND (NOT ResultadoPesquisa.EOF)) 
%>
  <tr> 
	<td><%=(ResultadoPesquisa.Fields.Item("nb").Value)%></td>
	<td><%=(ResultadoPesquisa.Fields.Item("nome").Value)%></td>
	<td><%=(ResultadoPesquisa.Fields.Item("sipps").Value)%></td>
	<td><%=(ResultadoPesquisa.Fields.Item("data").Value)%></td>
	<td><%=(ResultadoPesquisa.Fields.Item("tipos").Value)%></td>
	<td><%=(ResultadoPesquisa.Fields.Item("matricula").Value)%></td>
	<td><%=(ResultadoPesquisa.Fields.Item("servidor").Value)%></td>
  </tr>
  <% 
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  ResultadoPesquisa.MoveNext()
Wend
%>
</table>
<p>Para consultar um novo processo: <a href="index.htm">clique aqui</a></p>
</body>
</html>
<%
ResultadoPesquisa.Close()
Set ResultadoPesquisa = Nothing
%>
Poxa se puder me ajudar eu fico grato mais uma vez!

Vlw

Thebadshark

Prezado Thebadashark2005,

 

Você definiu as seguintes variáveis:

Dim Repeat1__numRows

Dim Repeat1__index

 

Repeat1__numRows = 1

Repeat1__index = 0

ResultadoPesquisa_numRows = ResultadoPesquisa_numRows + Repeat1__numRows

 

E depois pediu um "Loop" até que não fosse final de arquivo (NOT ResultadoPesquisa.EOF) e que a variavel Repeat1__numRows for diferente de zero (Repeat1__numRows <> 0), só que antes de mover para o próximo registro você está decrementando (nem sei se existe essa palavra, rs rs rs) mas você está diminuindo menos um a cada "volta" do loop (veja o seu código Repeat1__numRows = Repeat1__numRows - 1), logo perunto a você não seria o correto deixar apenas a validação se não é final de arquivo? Ou se for necessário o uso das variaveis não seria o caso de incrementar (Repeat1__numRows = Repeat1__numRows + 1),ao invés de decrementar (Repeat1__numRows = Repeat1__numRows - 1) ?

 

Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.