Opa!!!
Beleza amigão!!
Segue o código da minha DAOCLientePSQL :
package dao;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.JOptionPane;
import modelo.Cliente;
import visao.TelaCadCliente;
public class DAOClientePSQL implements DAOCliente {
//private TelaCadCliente cliente = new TelaCadCliente();
private PreparedStatement sql = null;
private ResultSet r = null;
public void cadastrar (Cliente c){
try {
sql=DAOFactoryPSQL.getConnection().prepareStatement("insert into cliente values (?,?,?,?,?,?,?,?,?,?,?)");
sql.setString(1 , c.getNome());
sql.setString(2 , c.getEndereco());
sql.setString(3 , c.getTel());
sql.setString(4 , c.getTelTrabalho());
sql.setString(5 , c.getTelCel());
sql.setString(6 , c.getCpf());
sql.setString(7 , c.getNumero());
sql.setString(8 , c.getCep());
sql.setString(9 , c.getIdentidade());
sql.setString(10 ,c.getBairro());
sql.setString(11 , c.getCodigo());
//executa o sql
sql.executeUpdate();
}
catch (Exception e){
JOptionPane.showMessageDialog(null,"Erro durante o cadastro do cliente : "+e,"ERRO",JOptionPane.ERROR_MESSAGE);
}
}
public void excluir (Cliente c){
try {
//cria o sql
sql = DAOFactoryPSQL.getConnection().prepareStatement("delete from cliente where codigo = ?");
sql.setString(1,c.getCodigo());
sql.executeUpdate();
}
catch (Exception e) {
JOptionPane.showMessageDialog(null,"Erro durante o acesso ao Banco para a exclusão do cliente!","ERRO",JOptionPane.ERROR_MESSAGE);
}
}
public void alterar (Cliente c){
try {
sql = DAOFactoryPSQL.getConnection().prepareStatement("update cliente set nome=?, endereco=?,tel=?,telTrabalho=?,telCel=?,cpf=?,numero=?,cep=?,identidade=?,bairro=? where codigo =?");
sql.setString(1, c.getCodigo());
sql.executeUpdate();
}
catch (SQLException e){
JOptionPane.showMessageDialog(null,"Erro de SQL:"+e.getMessage());
} catch (Exception e){
JOptionPane.showMessageDialog(null,"erro de alteracao");
}
}
public Cliente consultar (Cliente c){
try {
sql = DAOFactoryPSQL.getConnection().prepareStatement("select * from cliente where codigo = ?");
sql.setString(1, c.getCodigo());
r=sql.executeQuery();
if (r.next()){
c.setCodigo(r.getString("codigo"));
c.setNome(r.getString("nome"));
c.setEndereco(r.getString("endereco"));
c.setCep(r.getString("cep"));
c.setBairro(r.getString("bairro"));
c.setCpf(r.getString("cpf"));
c.setIdentidade(r.getString("identidade"));
c.setTel(r.getString("tel"));
c.setTelCel(r.getString("telCel"));
c.setTelTrabalho(r.getString("telTrabalho"));
c.setNumero(r.getString("numero"));
return c;
}
else
JOptionPane.showMessageDialog (null, "Cliente não cadastrado!","ERRO",JOptionPane.ERROR_MESSAGE);
}
catch (Exception e){
JOptionPane.showMessageDialog(null,"Erro durante a consulta no Banco de Dados :" +e, "ERRO",JOptionPane.ERROR_MESSAGE);
}
return null;
}
public Vector consultarTodos() {
Vector v= new Vector();
try {
sql=DAOFactoryPSQL.getConnection().prepareStatement("select * from aluno");
r=sql.executeQuery();
while(r.next())
{
Cliente cl= new Cliente();
cl.setNome(r.getString("nome"));
v.add(cl);
}
return v;
} catch (SQLException e)
{
e.printStackTrace();
return null;
}
}
public Vector consultarNome(Cliente c)
{
try
{
PreparedStatement sql=DAOFactoryPSQL.getConnection().prepareStatement("select * from aluno where nome like ?");
sql.setString(1, c.getNome()+"%");
ResultSet r= sql.executeQuery();
Vector v= new Vector();
while(r.next())
{
Cliente cl= new Cliente();
cl.setNome(r.getString("nome"));
v.add(cl);
}
return v;
}
catch (Exception e)
{
return null;
}
}
public Vector consultarMatricula(Cliente c)
{
try
{
PreparedStatement sql=DAOFactoryPSQL.getConnection().prepareStatement("select * from aluno where mat like ?");
sql.setString(1, c.getNome()+"%");
ResultSet r= sql.executeQuery();
Vector v= new Vector();
while(r.next())
{
Cliente am= new Cliente();
am.setNome(r.getString("nome"));
v.add(am);
}
return v;
}
catch (Exception e)
{
return null;
}
}
public void finalize (){
try {
sql.close();
}
catch (Exception e){
}
}
}
Tipo amigos… .eu observei o meu erro mas até o momento não consigo descobrir o que fazer!!!
Nessa parte do código : if (comando.equals("excluir")){
telaExcluiCliente = new TelaExcluiCliente();
ControleExcluiCliente controleExcluiCliente = new ControleExcluiCliente(telaExcluiCliente);
controleExcluiCliente.consultarExclusao();
}
Eu estou fazendo a chamada para meu controle e chamando o método consultarExclusao() que está em meu ControleExcluiCliente!!!
Para fazer um teste eu coloquei um JOptionPane npo contrutor de minha classe ControleExcluiCliente : [code] public ControleExcluiCliente (TelaExcluiCliente telaExcluiCliente){
this.telaExcluiCliente = telaExcluiCliente;
JOptionPane.showMessageDialog(null, "FOI AQUI");
telaExcluiCliente.setOuvinte(this);
}// fim do construtor
[/code]
Eu verifiquei que minha classe está sendo chamada duas vezes!!!
Pois está menssagem FOI AQUI está surgindo duas vezes na tela!!
Mas não sei porque galera!!!
Me ajudem aeeeeeee!!!
Agradeço a todos!!!