Erro no metodo Find?

Galera tenho esse metodo para buscar um cliente no meu banco… porém está me retornando esse erro:

na linha 114 tem Statement stmt = conn.createStatement();

16/09/2011 11:18:48 quitanda.Principal jMenu2MouseClicked GRAVE: null java.lang.NullPointerException at dao.Mysql.ClienteDaoMysql.find(ClienteDaoMysql.java:114) at quitanda.Principal.jMenu2MouseClicked(Principal.java:92) at quitanda.Principal.access$000(Principal.java:25) at quitanda.Principal$1.mouseClicked(Principal.java:58) at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253) at java.awt.Component.processMouseEvent(Component.java:6270) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6032) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) CONSTRUÍDO COM SUCESSO (tempo total: 7 segundos)

Metodo find:

[code] public Cliente find(int clienteid)throws Exception{
String sql = “select*from Cliente where idCliente =” + clienteid;

	// criar statement:
	Statement stmt = conn.createStatement();
	ResultSet rs = stmt.executeQuery(sql);
	Cliente cliente = null;
	if(rs.next()){
		cliente = new Cliente();
		cliente.setNome(rs.getString("Nome"));
		cliente.setCpf(rs.getString("CPF"));
		cliente.setIdCliente(clienteid);
	}
	rs.close();
	stmt.close();
	return cliente;
}[/code]

Executar consulta:

[code]private void jMenu2MouseClicked(java.awt.event.MouseEvent evt) {
try {
visualizarCliente();
ClienteDaoMysql cdao = new ClienteDaoMysql();
Cliente cliente = new Cliente();
cliente = cdao.find(3);

        // TODO add your handling code here:
    } catch (Exception ex) {
        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
    }[/code]    }

Onde está o erro?

esse find esta indo buscar um objeto q naum foi inicializado, por isso do nullpointer,reveja!

luxu

Desculpa a burrice, mais como assim não foi inicializado?

de uma olhada no meu método, axo q seu erro está aí…

public Contato getContatoPorId(int id) throws SQLException { Contato contato = new Contato(); // assim q se inicia o objeto con = (Connection) Conexao.getConnection(); PreparedStatement ps = null; ResultSet rs = null; try { ps = (PreparedStatement) con.createStatement(); rs = ps.executeQuery("select * from contato where id=?"); ps.setInt(1, id); ps.execute(); contato.setIdContato(rs.getInt("idcontato")); contato.setNome(rs.getString("nome")); contato.setTelefone(rs.getString("telefone")); } catch (SQLException ex) { throw new SQLException(ex.getMessage().toString()); } finally { ps.close(); con.close(); } return contato; }

Luxu,

Alterei o metodo para ficar igual ao seu…

[code]public Cliente find(int clienteid) throws Exception{

        Cliente cliente = new Cliente();
        conn = (Connection) ConnectionFactory.getConnection();
        String sql = "select*from Cliente where idCliente =" + clienteid;
        // criar statement:
        PreparedStatement ps = null;
        ResultSet rs = null;
        ps = (PreparedStatement) conn.createStatement();
        rs = ps.executeQuery(sql);
        ps.setInt(1, clienteid);
        ps.execute();
        cliente.setIdCliente(rs.getInt("idCliente"));
        cliente.setNome(rs.getString("Nome"));
        cliente.setCpf(rs.getString("cpf"));
        
        ps.close();
        conn.close();
        return cliente;
        
  
}[/code]

Erro retornado:

16/09/2011 13:17:17 quitanda.Principal jMenu2MouseClicked GRAVE: null java.lang.ClassCastException: com.mysql.jdbc.Statement cannot be cast to java.sql.PreparedStatement at dao.Mysql.ClienteDaoMysql.find(ClienteDaoMysql.java:118) at quitanda.Principal.jMenu2MouseClicked(Principal.java:92) at quitanda.Principal.access$000(Principal.java:25) at quitanda.Principal$1.mouseClicked(Principal.java:58) at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253) at java.awt.Component.processMouseEvent(Component.java:6270) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6032) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) CONSTRUÍDO COM SUCESSO (tempo total: 6 segundos)

Se vc esta usando PreparedStatements, entao vc cria ela com o metodo prepareStatement() da classe Connection.
E nao faz cast como esta fazendo