Condição...?

8 respostas
M

Estou com a seguinte duvida…
Estou fazendo este select e quero mostrar todos os objetos que começem com as iniciais desse assunto da minha tabela, ao invés disso ele me mostrar apenas o primeiro registro encontrado com essas iniciais…
veja o codigo.

<%

String consulta=SELECT * FROM FTB_CONTRATOS WHERE CON_OBJETO like '”+ Objeto+"%’";

rs = st.executeQuery(consulta);

if (rs.next())

{%>

<tr><font face=“Arial”><td>Assunto:</font></td><td><% out.println("<a href=’/ControlarContratos/dadosContrato.jsp?CON_CODIGO="+ rs.getString(CON_CODIGO)+"’>");%><%= rs.getString(CON_OBJETO)%><%out.println("</a>");%></td></tr>

<%}

else

{%>

<p align=“center”><font color="#FF0000"><b>" NÃO EXISTE CONTRATO PARA O FORNECEDOR INFORMADO!!"</b></font></p>

<%

}%>

8 Respostas

A

Cara,
Só ta mostrando 1 registro porque vc ta usando if rs.next(), troque para while rs.next(), ai mostra todos!

M

Anderson, deixa eu te explicar, estou usando o if para poder enviar uma mensagem quando o registro não for encontrado.
Como posso fazer isso com o while???

E

achu q ele falou pra tu usar o while pra percorrer os registros encontrados

pelo que eu entendi seria mais ou menos assim:

while&#40;true&#41; &#123;
   // não foi recuperado nenhum registro
   if&#40;!rs.next&#40;&#41;&#41; &#123;
      // montar a saída
      break;
   &#125;
   // montar a saida para exibição dos registros encontrados
&#125;

achu que deve ser isso que ele propos… :roll:

[]´s

M

Ainda não deu certo, o sistema imprime varias vezes a mensagem de que ñão existe registro.

E

teste entaum direto esse código…

// entra no if somente se ele retornar um false de nenhum registro
// encontrado
if&#40; !rs.next&#40;&#41; &#41; &#123;

// coleque a sua saida aki

&#125;
M
<%

String consulta=SELECT * FROM FTB_CONTRATOS WHERE CON_OBJETO like '”+ Objeto+"%’";

rs = st.executeQuery(consulta);

while(true) {

%><tr><font face=“Arial”><td>Assunto:</font></td><td><% out.println("<a href=’/ControlarContratos/dadosContrato.jsp?CON_CODIGO="+ rs.getString(CON_CODIGO)+"’>");%><%= rs.getString(CON_OBJETO)%><%out.println("</a>");%></td></tr>
&lt;%if(!rs.next()) {%&gt; 
              &lt;p align="center"&gt;&lt;font color="#FF0000"&gt;<b>&amp;quot; NÃO EXISTE CONTRATO PARA O FORNECEDOR INFORMADO!!&amp;quot;</b>&lt;/font&gt;&lt;/p&gt;                  

          &lt;% break; 
           }
          }%&gt;

<%

A

Cara,

while(true) nao!!!
While (rs.next())
Quando vc usa o while(rs.next) ele ja chama o outro registro automaticamente para vc!
Faz assim!
Depois de rodar o sql, confira com if e entre no while!

E

cara afinal oq tu precisa fazer… ? :roll:

Criado 25 de abril de 2005
Ultima resposta 25 de abr. de 2005
Respostas 8
Participantes 3