Bom essa é a minha classe DAO completa:
[code]import java.sql.;
import java.io.;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import javax.swing.;
import java.util.Date;
import locadora.db.Conexao;
import locadora.vo.;
public class ClienteDAO extends Cliente{
private PreparedStatement ps;
private Statement stm;
private Connection con;
public ClienteDAO() {
Conexao.getCon();
stm = Conexao.getStm();
}
public void inserir() {
//PreparedStatement ps = null;
try {
String sql="insert into clientes (idcliente, nome, endereco,fone, foto,limiteconta,divida,datacadastro,datanasc,cidade,uf,email) values (?,?,?,?,?,?,?,?,?,?,?)";
ps = con.prepareStatement(sql);
ps.setInt(1,getCpf());
ps.setString(2,getNome());
ps.setString(3,getEndereco());
ps.setString(4,getFone());
ps.setString(5,getFoto());
ps.setDouble(6,getLimiteConta());
ps.setDouble(7,getDivida());
ps.setString(8,getDataCadastro());
ps.setString(9,getDataNasc());
ps.setString(10,getCidade());
ps.setString(11,getUF());
ps.setString(12,getUF());
JOptionPane.showMessageDialog(null,"falta soh o execute");
ps.executeUpdate();
JOptionPane.showMessageDialog(null,"Cliente cadastrado com sucesso !!");
} catch (SQLException e) {
JOptionPane.showMessageDialog(null,"Erro ao cadastrar cliente !!");
}
}
public void alterar() {
PreparedStatement ps = null;
try {
ps=con.prepareStatement("update categoria set nome=?,endereco=?,fone=?,foto=?,"+
"limiteconta=?,datanasc=?,cidade=?,uf=?,email=?,divida=? where id=?");
ps.setString(1,getNome());
ps.setString(2,getEndereco());
ps.setString(3,getFone());
ps.setString(4,getFoto());
ps.setDouble(5,getLimiteConta());
ps.setString(6,getDataNasc());
ps.setString(7,getCidade());
ps.setString(8,getUF());
ps.setString(9,getEmail());
ps.setDouble(10,getDivida());
ps.setInt(11,getCpf());
ps.executeQuery();
JOptionPane.showMessageDialog(null,"Cliente alterado com sucesso !!");
} catch (SQLException e) {
JOptionPane.showMessageDialog(null,"Erro ao alterar cliente !!");
}
}
public void excluir() {
//agenda nome da tabela
String sqlQuery = "delete from cliente where id = " +
getCpf()+ "; ";
try {
stm.executeUpdate(sqlQuery);
JOptionPane.showMessageDialog(null, "Exclusão realizada com sucesso!");
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Erro ao excluir registro !!! Exceção SQL...\n" +
e.getMessage());
}
}
public Cliente consultarPorID(int id) {
Cliente cli = new Cliente();
PreparedStatement ps = null;
try {
ps=con.prepareStatement("select * from clientes where id=?");
ps.setInt(1,id);
ResultSet rs = ps.executeQuery();
cli.setNome(rs.getString("NOME"));
cli.setEndereco(rs.getString("ENDERECO"));
cli.setFone(rs.getString("FONE"));
cli.setFoto(rs.getString("FOTO"));
cli.setCidade(rs.getString("CIDADE"));
cli.setUF(rs.getString("UF"));
cli.setEmail(rs.getString("EMAIL"));
cli.setDivida(Double.parseDouble(rs.getString("DIVIDA")));
cli.setDataCadastro(rs.getString("DATACADASTRO"));
cli.setDataNasc(rs.getString("DATANASC"));
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"Erro ao consultar Cliente !!");
}
return cli;
}
public Cliente consultarPorNome(String nome) {
Cliente cli = new Cliente();
PreparedStatement ps = null;
try {
ps=con.prepareStatement("select * from clientes where nome like %?%");
ps.setString(1,nome);
ResultSet rs = ps.executeQuery();
cli.setNome(rs.getString("NOME"));
cli.setEndereco(rs.getString("ENDERECO"));
cli.setFone(rs.getString("FONE"));
cli.setFoto(rs.getString("FOTO"));
cli.setCidade(rs.getString("CIDADE"));
cli.setUF(rs.getString("UF"));
cli.setEmail(rs.getString("EMAIL"));
cli.setDivida(Double.parseDouble(rs.getString("DIVIDA")));
cli.setDataCadastro(rs.getString("DATACADASTRO"));
cli.setDataNasc(rs.getString("DATANASC"));
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"Erro ao consultar Cliente !!");
}
return cli;
}
}[/code]
nao sei se devo acrescentar alguma coisa ou nao !!
estou muito confuso
as vezes com o statement normal funciona e qndo tento usar o prepared ja da pau !!
Esses sao os erros que aparecem na saida ali embaixo do NetBeans:
java.lang.NullPointerException
at locadora.gui.jfCadastros.bCadastrarClienteActionPerformed(jfCadastros.java:651)
at locadora.gui.jfCadastros.access$600(jfCadastros.java:23)
at locadora.gui.jfCadastros$7.actionPerformed(jfCadastros.java:192)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener$Actions.actionPerformed(BasicButtonListener.java:287)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1636)
at javax.swing.JComponent.processKeyBinding(JComponent.java:2844)
at javax.swing.JComponent.processKeyBindings(JComponent.java:2879)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2807)
at java.awt.Component.processEvent(Component.java:5815)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:693)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:958)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:830)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:657)
at java.awt.Component.dispatchEventImpl(Component.java:4282)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)