Erro no executeQuery em JSP [Resolvido]

6 respostas
aquino.will

Boa tarde!

Tenho um site de carros onde tenho um filtro para selecionar a marca, o modelo e a versão do carro,
quando mando um submit para selecionar os campos e fazer a junção das tabelas ocorre um
erro no executeQuery, como uso o tomcat e o dreamweaver da erro somente mostrando o linha e mais nada.
Testei o join no mysql e deu certinho trouxe a marca que desejava corretamente mas quando coloco no código da erro e
não sei o que ocorre, se tiver alguem que possa me ajudar agradeço!!!

OBS: Somente estou fazendo um teste para trazer a marca do carro e por isso não irá trazer todos os resultados
do banco e colocar na tela, primeiro tem funcionar isso para depois não me perder e ter um monte de erro hehehehe.

Uso o mysql 5.0, tomcat 6.0 e dreamweaver na linguagem JSP.

<% 
		     try{  
			 		
				  String marcab = request.getParameter("tfmarca");	   
    			  Class.forName("com.mysql.jdbc.Driver");        
   				  Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/auto_werk", "root", 	                                                                     "willian123"); 
				  
				  	Statement stm = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
					ResultSet.CONCUR_READ_ONLY);
			
					ResultSet rsb=stm.executeQuery("select tbmarca.nome,tbcarro.nome from  tbmarca inner join
													tbcarro on tbmarca.id_marca = tbcarro.id_carro");
					
					 if(rsb.next()){  
					 
		   			
%>

      <tr>
        <td width="22%"><a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('999','','images/slices_on_14.jpg',1)"><img name="Image19" border="0" src="images/slices_14.jpg"></a></td>
        <td width="38%"><table width="100%" border="0" cellpadding="7" cellspacing="5">
          <tr>
            <td width="20%" class="VermelhoMaior">Marca:</td>
            <td width="80%" class="VermelhoMaior"><%=rsb.getString("nome")%><span class="branco"></span></td>
           <%
				} // fim if
				   
				   
		   %>
            
            
          </tr>
          <tr>
            <td class="VermelhoMaior">Modelo:</td>
            <td class="VermelhoMaior"><span class="branco">TalTal</span></td>
          </tr>
          <tr>
            <td class="VermelhoMaior">Vers&atilde;o:</td>
            <td class="VermelhoMaior"><span class="branco">TalTal</span></td>
          </tr>
          <tr>
            <td class="VermelhoMaior">Ano:</td>
            <td class="VermelhoMaior"><span class="branco">TalTal</span></td>
          </tr>
          <tr>
            <td class="VermelhoMaior">Km:</td>
            <td class="VermelhoMaior"><span class="branco">TalTal</span></td>
          </tr>
        </table></td>
        <td width="40%"><table width="100%" border="0" cellpadding="7" cellspacing="5">
          <tr>
            <td width="37%" class="VermelhoMaior">Cor:</td>
            <td width="63%" class="VermelhoMaior"><span class="branco">TalTal</span></td>
          </tr>
          <tr>
            <td class="VermelhoMaior">Pre&ccedil;o:</td>
            <td class="VermelhoMaior"><span class="branco">TalTal</span></td>
          </tr>
          <tr>
            <td class="VermelhoMaior">Nome Vendedor:</td>
            <td class="VermelhoMaior"><span class="branco">TalTal</span></td>
          </tr>
          <tr>
            <td class="VermelhoMaior">Telefone:</td>
            <td class="VermelhoMaior"><span class="branco">TalTal</span></td>
          </tr>
          <tr>
            <td class="VermelhoMaior">E-mail:</td>
            <td class="VermelhoMaior"><span class="branco">TalTal</span></td>
          </tr>
              
          
<%
			
           }catch (ClassNotFoundException erroClass){     
       			out.print(" Driver não foi localizado");     
           }catch (SQLException  e){      
         		out.println("Erro na conexão ao banco de dados 2");     
      	   } 
		
	 
%>

6 Respostas

fontoura

Mas qual o erro que esta dando?
Podia colocar ai, inclusive a causa!

aquino.will

Então mano é ese o erro

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 371 in the jsp file: /listagem.jsp

String literal is not properly closed by a double-quote

368: 				  	Statement stm = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

369: 					ResultSet.CONCUR_READ_ONLY);

370: 			

371: 					ResultSet rsb=stm.executeQuery(select tbmarca.nome,tbcarro.nome from  tbmarca inner join

372: 													tbcarro on tbmarca.id_marca = tbcarro.id_carro);

373: 					

374: 					 if(rsb.next()){
Stacktrace:

org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)

org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)

org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)

org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.

fiz aoguns teste e vi que é exatamente na linha 371.

Valeu!!!

fontoura

Vc já tentou fazer assim:

Statement stm = con.createStatement(“select tbmarca.nome,tbcarro.nome from tbmarca inner join
tbcarro on tbmarca.id_marca = tbcarro.id_carro”)
;

ResultSet rsb=stm.executeQuery();

Por que vc esta utilizando aquelas propriedades no metodo createStatement ?

aquino.will

Então cara o para que serve esse …

Statement stm = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY)
;

Ele serve para que o ResultSet seja rolavel, seja sempre para frete . para quando vc buscar no banco de
dados ele sempre pegará o da frete exemplo:

Id_marca Id_ carro
1 1
2 2
3 3

Dai ele sempre pegara o 1 depois o 2 e assim por diante. É isso que entendi nos exemplos que tive na videos aulas que tenho aqui.

Então o código que vc me forneceu tb deu erro.
É complicado se no mysql deu certo deveria dasr certo no java.

mduques

Voce ta quebrando a string em duas linhas… tente colocar na mesma linha ou concatenar…

ResultSet rsb=stm.executeQuery("select tbmarca.nome,tbcarro.nome from tbmarca inner join “+
" tbcarro on tbmarca.id_marca = tbcarro.id_carro”)
;

.
.
.
String literal is not properly closed by a double-quote
.
.
.

aquino.will

Aee Brother!!!

Funciono perfeitamente

Mto obrigado a todos que me ajudaram!!!

agora é somente implementas para os outros atributos aqui

value mesmo !!!

falo ate

Criado 28 de outubro de 2008
Ultima resposta 28 de out. de 2008
Respostas 6
Participantes 3