Consulta

7 respostas
K

Bom Dia Galera !!!

Eu estou com um probleminha na realização de minha consulta a banco. A minha conexão já está OK! Mas não retorna nada no meu formulário. Segue o código:

<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
try 
{ 
    java.sql.Connection conn = openConnection(); 
    PreparedStatement ps = conn.prepareStatement("select cd_rua, cd_bairro from Rua"); 
    ResultSet rs = ps.executeQuery(); 
        
    while(rs.next()) 
   { %> 
 		<tr><td><%= (String) rs.getString(nm_rua)%> </td> 
		<td><%= (String) rs.getString(nm_bairro)%> </td>
		<td><%= (String) rs.getString(nm_posto)%> </td>
        <td><%= (String) rs.getString(preco_comb)%> </td></tr> 
    <%} 
} 
catch(SQLException sqlE) 
{ 
    sqlE.printStackTrace(); 
}
%>

Abraço !!!

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Matheus [/color][/size] :joia:

Qual exceção ?

7 Respostas

M

da pra postar a exceção pra gente?

G

dê uma conferida no seu SQL, veja se ele está correto…

:wink:

K

Eu verifiquei o meu sql ontem. E está tudo beleza ! Só não entendo pq não está retornando nada.

D

Dah uma olhada na tua string de conexao

("select cd_rua, cd_bairro from Rua"); 
    ResultSet rs = ps.executeQuery(); 
        
    while(rs.next()) 
   { %> 
       <tr><td><%= (String) rs.getString(nm_rua)%> </td> 
      <td><%= (String) rs.getString(nm_bairro)%> </td> 
      <td><%= (String) rs.getString(nm_posto)%> </td> 
        <td><%= (String) rs.getString(preco_comb)%>

interessante que voce estah selecionando na sua sql cd_rua e cd_bairro…
e mais abaixo estah tentando dar um rs.getString(nm_rua)

acho q. se vc mudar para

("select * from Rua");

vai funcionar.

[]'s

C

tipo ele ta trabalhando com uma tabela mas, ele naum abriu a tag <TABLE></TABLE>
ou so naum ta aparecendo no trecho acima??? :???:

T

“keymaker”:

Segue o código:

&lt;%
try 
&#123; 
   ...
&#125; 
catch&#40;SQLException sqlE&#41; 
&#123; 
    sqlE.printStackTrace&#40;&#41;; 
&#125;
%&gt;

Muita gente não gosta de scriptlets em páginas JSP, mas se você tem de usá-los, e você quer ver que #$%@ de exceção ocorreu em seu JSP, a maneira mais simples (embora não recomendada) é fazer o próprio web container mostrar o erro (vai dar um erro 500, e você tem de desabilitar umas coisas no Internet Explorer para que você veja a página de erro mostrada pelo web container).
Você pode simplesmente omitir o try / catch que você pôs aí, principalmente porque, como você fez, o “stack trace” não vai aparecer no HTML, e sim no console (dependendo do seu web container a saída aparece em algum lugar que você não sabe, ou simplesmente é desabilitada).
É que normalmente o web container põe um “try/catch” já no seu código, mas o tratamento default é mostrar um erro 500 com o stack trace.

K

Vou segui os conselhos de VC’s e alterar alguns trecho.

Valeu !!!

Criado 6 de junho de 2005
Ultima resposta 6 de jun. de 2005
Respostas 7
Participantes 6