Olá pessoal, estou tendo um erro quando vou fazer a busca no banco, esta dando um nullpointerexception na linha da variável pstmt!
Alguem tem alguma sugestão??
Estou rachando a cabeça aqui, mas nao consigo resolver.
[code]public static ArrayList getAll( ) {
String query="SELECT * FROM evento ";
try {
ArrayList<Evento> listAll = null;
pstmt = (PreparedStatement) Conexao.getConnection().prepareStatement(query); // [b]<<-----NULL POINTER EXCEPTION!!!!!!! [/b]
rs = pstmt.executeQuery();
if (rs.next()) {
do {
Evento evento = new Evento();
evento.setIdevento(rs.getString("idevento"));
evento.setAtivo(rs.getString("ativo"));
evento.setData(rs.getString("data"));
evento.setDescricao(rs.getString("descricao"));
evento.setFlyer(rs.getString("flyer"));
evento.setResenha(rs.getString("resenha"));
evento.setThumb(rs.getString("thumb"));
listAll.add(evento);
} while (rs.next());
}
rs.close();
pstmt.close();
return listAll;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
[/code]
[size=18]Eu tenho um método praticamente igual sendo utilizado no meu programa, na mesma classe que funciona perfeitamente…
Segue abaixo a classe:[/size]
package model;
import beans.Evento;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
/**
*
* @author Marcelo
*/
public class EventoDAO {
private static PreparedStatement pstmt = null;
private static ResultSet rs = null;
public static boolean create(Evento evento) {
try {
pstmt = (PreparedStatement) Conexao.getConnection().prepareStatement(
"INSERT INTO evento(descricao, data, thumb, flyer, resenha, ativo) VALUES(?,?,?,?,?,?)"
);
pstmt.setString(1, evento.getDescricao());
pstmt.setString(2, evento.getData());
pstmt.setString(3, evento.getThumb());
pstmt.setString(4, evento.getFlyer());
pstmt.setString(5, evento.getResenha());
pstmt.setString(6, evento.getAtivo());
pstmt.executeUpdate();
pstmt.close();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
public static ArrayList<Evento> getAll( ) {
String query="SELECT * FROM evento ";
try {
ArrayList<Evento> listAll = null;
pstmt = (PreparedStatement) Conexao.getConnection().prepareStatement(query);
rs = pstmt.executeQuery();
if (rs.next()) {
do {
Evento evento = new Evento();
evento.setIdevento(rs.getString("idevento"));
evento.setAtivo(rs.getString("ativo"));
evento.setData(rs.getString("data"));
evento.setDescricao(rs.getString("descricao"));
evento.setFlyer(rs.getString("flyer"));
evento.setResenha(rs.getString("resenha"));
evento.setThumb(rs.getString("thumb"));
listAll.add(evento);
} while (rs.next());
}
rs.close();
pstmt.close();
return listAll;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
Utilize as tags [ Code ] para postar código, para faciltar a leitura.
vc tem certeza que é o pstm que está null? não seria a connection? separa as coiasas pra vc poder ver melhor:
Connection conn = Conexao.getConnection();
PreparedStatment pstmt = conn.prepareStatement(query);
muda, e testa de novo. se o erro for mesmo no pstmt, vc volta e posta a stacktrace aqui pra gente ver.
[]'s
Oi mario!
o erro é no pstmt mesmo!
O que eu acho estranho é que um codigo praticamente igual nao apresenta erro nenhum, eu ja estou usando este modelinho ha mto tempo…tens alguma ideia?
Agradeço a todos desde já!
[code]java.lang.NullPointerException
at model.EventoDAO.getAll(EventoDAO.java:55)
at org.apache.jsp.central_005fcontent_005fnotlogged_jsp._jspService(central_005fcontent_005fnotlogged_jsp.java:85)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472)
at org.apache.taglibs.standard.tag.common.core.ImportSupport.acquireString(ImportSupport.java:296)
at org.apache.taglibs.standard.tag.common.core.ImportSupport.doEndTag(ImportSupport.java:161)
at org.apache.jsp.entrada_jsp._jspx_meth_c_005fimport_005f2(entrada_jsp.java:249)
at org.apache.jsp.entrada_jsp._jspService(entrada_jsp.java:137)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
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:191)
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:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
[/code]
pq q vc faz cast pra PreparedStatment?
essa connection retornada não é a padrão do java?
Por acaso tu fez uma classe singleton pra pegar a conexao e pegar o prepared tb?
nao usei singleton, e o prepared foi o netbeans que botou, depois de eu ja ter feito um mte de mudanças, mas tambem nao funciona sem o cast.
Alguem tem alguma ideia?
abss!!!
posta essa connection factory ai. tem algo estranho ai
pessoal resolvi aqui!
Valeu!