Ir para conteúdo

POWERED BY:

Arquivado

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

Jesus Kleiton

MySql + Jdbc

Recommended Posts

Olá dres.. estou eu a tentar conectar com meu banco mysql.. mas não esta funcionando e não estou entendendo o pq..

se alguem souber.. por favor .. me diga.

Aqui é meu método q deveria conectar e consultar...

public String consultaCaso(){
		
	String strCnn, strUser, strServer, strDB, strPass;
			strUser = "root";
			strPass = new String("mysql");
			strServer = "localhost:3306";
			strDB = "teste";
			strCnn = "jdbc:mysql://" + strServer + "/" + strDB;
		try {
			 Class.forName("com.mysql.jdbc.Driver").newInstance();
			 
		}
		catch(Exception e) {
			return("Nao foi possivel carregar o driver do MySQL");
		}
		try {
			Connection con = DriverManager.getConnection(strCnn,strUser,strPass);
			String sql = "select descricao from teste.bd_rum;";
			PreparedStatement pstate = null; 
			pstate = con.prepareStatement(sql);   
			ResultSet res = pstate.executeQuery();   
			
		
		   pstate.close();
			con.close();
		   
			return("<font color='#FFFFFF'><p align='center'><strong>"+res.getString("descricao")+"</strong></p></font>");
		}
		catch(SQLException sqle) {
			sqle.printStackTrace(); 
			return("Nao foi possivel conectar ao banco");
		}
	}

aqui é o erro quando tento utilizar a minha classe no jsp.

1/04/2008 15:19:09 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
	at com.mysql.jdbc.ResultSetImpl.buildIndexMapping(ResultSetImpl.java:709)
	at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1069)
	at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5488)
	at ljk.beans.Consulta.consultaCaso(Consulta.java:68)
	at ljk.beans.Consulta.escreve(Consulta.java:38)
	at org.apache.jsp.resposta_jsp._jspService(resposta_jsp.java:79)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)
Desde já agradeço.. obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá dres.. estou eu a tentar conectar com meu banco mysql.. mas não esta funcionando e não estou entendendo o pq..

se alguem souber.. por favor .. me diga.

Aqui é meu método q deveria conectar e consultar...

public String consultaCaso(){
		
	String strCnn, strUser, strServer, strDB, strPass;
			strUser = "root";
			strPass = new String("mysql");
			strServer = "localhost:3306";
			strDB = "teste";
			strCnn = "jdbc:mysql://" + strServer + "/" + strDB;
		try {
			 Class.forName("com.mysql.jdbc.Driver").newInstance();
			 
		}
		catch(Exception e) {
			return("Nao foi possivel carregar o driver do MySQL");
		}
		try {
			Connection con = DriverManager.getConnection(strCnn,strUser,strPass);
			String sql = "select descricao from teste.bd_rum;";
			PreparedStatement pstate = null; 
			pstate = con.prepareStatement(sql);   
			ResultSet res = pstate.executeQuery();   
			
		
		   pstate.close();
			con.close();
		   
			return("<font color='#FFFFFF'><p align='center'><strong>"+res.getString("descricao")+"</strong></p></font>");
		}
		catch(SQLException sqle) {
			sqle.printStackTrace(); 
			return("Nao foi possivel conectar ao banco");
		}
	}

aqui é o erro quando tento utilizar a minha classe no jsp.

1/04/2008 15:19:09 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
	at com.mysql.jdbc.ResultSetImpl.buildIndexMapping(ResultSetImpl.java:709)
	at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1069)
	at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5488)
	at ljk.beans.Consulta.consultaCaso(Consulta.java:68)
	at ljk.beans.Consulta.escreve(Consulta.java:38)
	at org.apache.jsp.resposta_jsp._jspService(resposta_jsp.java:79)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)
Desde já agradeço.. obrigado.

Cara,

 

Acho que é o seguinte, você está fechando o Prepared Statement antes de utilizar o ResultSet. Modifique o seu código, primeiro utilize o ResultSet e depois feche os PreparedStatement.

 

Abraços,

 

Obs: Para os novatos na linguagem, este site tem um tutorial java basico com apostilas em pdf e video aulas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, seu problema consiste no resultSet como foi dito pelo javafan, se tu queres usar o ResultSet com a conexão fechada, tente utilizar o CachedRowSet que ai sim você consegue utilizar o resultSet, mesmo com a conexão fechada.

 

Flwww, grande abraço

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.