Fazer a busca de um cliente em um textField

Olá, estou desenvolvendo um programinha bem simples que faz o cadastro de clientes e produtos e permite alterar essas informações, deletar, etc.

Eu gostaria de buscar o nome do cliente e fazer com que apareçam as informações dele (cpf, nome, sobrenome, …) em uma tabela. E que eu selecione essas informações e possa então ao clicar no botão “alterar”, alterar essas informações em textFields e salvar.

Como na imagem:

Certo, os códigos compilam tudo, só que na hora de clicar no botão buscar não aparece nada! Só aparece se eu tirar (na classe ClienteBanco) dessa linha o where "select * from empresa.pessoafisica where nome= " + cf.getNome() + “”. Aí aparecem todos os clientes, mas eu quero só o cliente cujo o nome eu digitar.

Os códigos:

Alguém poderia me dar uma luz?

Imagem 1:http://imageshack.us/photo/my-images/847/tela.png/
Imagem 2- Código 1: http://imageshack.us/photo/my-images/34/guiverinfocliente.png/
Imagem 3- Código 1: http://imageshack.us/photo/my-images/851/clientebanco.png/

bem Leiticia, ja vi que no seu exemplo, você não usa o PreparedStatement pra fazer pesquisas em banco de dados, acho mais útil,
bem mais simples de fazer manutenção com ele, vou mostrar um exemplo, que uso para fazer pesquisas, mais abaixo.
e outra, use um Objeto para mandar pro DAO, crie uma classe Cliente, e coloque os atributos, nome, telefone, email, essas coisas, crie os
getters and setters para ela, ae na classe onde você pega esses dados, instancie um novo Cliente, coloque os atributos nele, e mande para o DAO.

e vai o exemplo, de como fazer a pesquisa em BD:

public void editarCliente(Cliente cliente)
        {
// onde tem as interrogações (?) é onde deveria entrar os campos do TextField para alterar o cliente.
            String comandoSQL = 
                    "UPDATE CLIENTE SET " + 
                    "NOME = ?, " +
                    "ENDEREÇO = ?, " +
                    "NUMERO = ?, " +
                    "BAIRRO = ?, " +
                    "CIDADE = ?, " +
                    "UF = ?, " +
                    "TELEFONE = ?, " +
                    "CELULAR = ?, " +
                    "EMAIL = ? " +
                    "WHERE COD_CLIENTE = ?";
                      
            try
            {
// e aqui no método o PreparedStatement, onde você coloca os valores que deveriam entrar na interrogação, tem que ser por ordem
                PreparedStatement editarSQL = conexao.prepareStatement(comandoSQL);
                
                editarSQL.setString(1, cliente.getNome());
                editarSQL.setString(2, cliente.getEndereco());
                editarSQL.setInt(3, cliente.getNumero());
                editarSQL.setString(4, cliente.getBairro());
                editarSQL.setString(5, cliente.getCidade());
                editarSQL.setString(6, cliente.getUF());
                editarSQL.setString(7, cliente.getTelefone());
                editarSQL.setString(8, cliente.getCelular());
                editarSQL.setString(9, cliente.getEmail());
                editarSQL.setInt(10, cliente.getCodigo());
                
                editarSQL.execute();
                editarSQL.close();
                
                JOptionPane.showMessageDialog(null, "Cliente Alterado com Sucesso!");
            }
            catch(SQLException e)
            {
                JOptionPane.showMessageDialog(null, "Cliente Não Alterado");
                throw new RuntimeException(e);
            } 
        }

pronto, tem um pequeno exemplo, se quiser uma apostila, que eu tenho aqui, qualquer coisa manda o E-mail por Mensagem Privada.
um abraço.

e agora que li direito, vi que você so quer fazer pesquisas.
bem, eu faço somente isso, está dentro do meu DAO para manipular alterações, criação e pesquisas no banco de dados,
mando para a classe que pesquisa no banco de dados, uma String com o nome da pessoa, e ele faz a busca, é muito simples,
mas se usar PreparedStatement:


public List<Cliente> pesquisarCliente(String nome)
        {
            
            nome += "%"; // Faz com que no select do BD se você colocar um c, apareça Carlos, Cida, e se você colocar o ca apareça so carlos.

            List<Cliente> clienteList = new ArrayList<Cliente>();
            
            String comandoSQL = "SELECT * FROM CLIENTE WHERE NOME LIKE ?"; // o comando que será executado no BD, a interrogação é onde voce colocara o nome.
            
            try
            {
                PreparedStatement search = conexao.prepareStatement(comandoSQL);
                 
                search.setString(1, nome);   // e aqui mande o nome la para a interrogação

                ResultSet ResultOrdem = search.executeQuery();
                
                while (ResultOrdem.next())
                {
                    Cliente cliente = new Cliente();
                    
                    cliente.setCodigo(ResultOrdem.getInt("cod_cliente"));
                    cliente.setNome(ResultOrdem.getString("nome"));
                    cliente.setEndereco(ResultOrdem.getString("endereço"));
                    cliente.setNumero(ResultOrdem.getInt("Numero"));
                    cliente.setBairro(ResultOrdem.getString("bairro"));
                    cliente.setCidade(ResultOrdem.getString("cidade"));
                    cliente.setUF(ResultOrdem.getString("uf"));
                    cliente.setTelefone(ResultOrdem.getString("telefone"));
                    cliente.setCelular(ResultOrdem.getString("celular"));
                    cliente.setEmail(ResultOrdem.getString("email"));
                    
                    clienteList.add(cliente);
                }
                
                ResultOrdem.close();
                search.close();
                
                return clienteList;
            }
            catch(SQLException e)
            {
                
                throw new RuntimeException(e);
            }
            
            
        }

pronto, ta ae um exemplo melhor pra você.

É os seguinte o que eu não to conseguindo é pegar o nome de um determinado cliente. Eu sei como listar todos os clientes só que eu só quero pegar um e alterar as informações dele.

Só que eu só consigo exibir TODOS os clientes, não fazer a busca de um só. E na hora de alterar só consigo alterar TODOS também ao invéz de alterar um só.

Vou postar meu código aqui. Peraí.

[code]
package model;

import java.sql.Connection;
import model.ConexaoBanco;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import model.ClienteF;
import model.ClienteJ;

public class ClienteBanco {

public static void cadastrarCliente (ClienteF c) throws SQLException, ClassNotFoundException {
    try {

        Connection conexao = ConexaoBanco.conecta();
        Statement stat = conexao.createStatement();

        String sql = "";
        sql = "insert into empresa.pessoafisica(nome, sobrenome, rg, cpf, idade, dtNascimento, sexo, estadoCivil, email, DDD, telefone, endereco, cidade, estado, pais)"
                 + "values('" + c.getNome() + "', '" + c.getSobrenome() + "'," + c.getRg() + "," + c.getCpf() + "," + c.getIdade() + ", " + c.getDtNascimento() + ",'" + c.getSexo() + "', '" + c.getEstadocivil() + "', '" + c.getEmail() + "', " + c.getDDD() + ", " + c.getTelefone() + ", '" + c.getEndereco() + "', '" + c.getCidade() + "', '" + c.getEstado() + "', '" + c.getPais() + "')";
        stat.execute(sql);
        stat.close();
        conexao.close();

    } catch (SQLException se) {
        throw new SQLException("\nErro ao inserir! Altere os dados e tente novamente. \n\n"+ se.getMessage());
    }
    catch(ClassNotFoundException e)
    {
        throw new ClassNotFoundException("Não foi possível localizar o driver do banco de dados! " + e);}
}

public static void cadastrarCliente2 (ClienteJ cj) throws SQLException, ClassNotFoundException {
    try {

        Connection conexao = ConexaoBanco.conecta();
        Statement stat = conexao.createStatement();

        String sql = "";
        sql = "insert into empresa.pessoajuridica(nome, nomefantasia, cnpj, cnae, logradouro, numero, complemento, bairro, estado, pais, cep, ddd, telefone1, telefone2, email)"
                 + "values('" + cj.getNome() + "', '" + cj.getNomeFantasia() + "'," + cj.getCnpj() + "," + cj.getCnae() + ", '" + cj.getLogradouro() + "'," + cj.getNumero() + ", '" + cj.getBairro()+ "', '" + cj.getComplemento() + "', '" + cj.getEstado() + "', '" + cj.getPais() + "', " + cj.getCep() + ", " + cj.getDdd() + ", " + cj.getTelefone1() + ", " + cj.getTelefone2() + ", '" + cj.getEmail() + "')";
        stat.execute(sql);
        stat.close();
        conexao.close();

    } catch (SQLException se) {
        throw new SQLException("\nErro ao inserir! Altere os dados e tente novamente.\n\n" + se.getMessage());
    }
    catch(ClassNotFoundException e)
    {
        throw new ClassNotFoundException("Não foi possível localizar o driver do banco de dados! " + e);}
}

public static ArrayList <ClienteF> buscarTodosClientes() throws SQLException, ClassNotFoundException {
    try {
        
        Connection conexao = ConexaoBanco.conecta();
        Statement stat = conexao.createStatement();

        String sql = "";
        sql = "select * from empresa.pessoafisica;";

        ResultSet rs = stat.executeQuery(sql);
        ArrayList <ClienteF> pAux = new ArrayList<ClienteF>();

        while (rs.next()) {
            ClienteF c = new ClienteF();
            c.setCpf(rs.getInt("cpf"));
            c.setNome(rs.getString("nome"));
            c.setSobrenome(rs.getString("sobrenome"));
            
            pAux.add(c);
        }

        return pAux;

    } catch (SQLException se) {
        throw new SQLException(" Erro ao buscar todos os clientes! " + se.getMessage());
    }
    catch(ClassNotFoundException e)
    {throw new ClassNotFoundException("Não foi possível localizar o driver do banco de dados! " + e);}
}

public static ArrayList <ClienteJ> buscarTodosClientes2() throws SQLException, ClassNotFoundException {

    try {

        Connection conexao = ConexaoBanco.conecta();
        Statement stat = conexao.createStatement();

        String sql = "";
        sql = "select * from empresa.pessoajuridica;";

        ResultSet rs = stat.executeQuery(sql);
        ArrayList <ClienteJ> pAux = new ArrayList<ClienteJ>();

        while (rs.next()) {
            ClienteJ c = new ClienteJ();
            c.setCnpj(rs.getInt("cnpj"));
            c.setNome(rs.getString("nome"));
            
            pAux.add(c);
        }
        return pAux;

    } catch (SQLException se) {
        throw new SQLException("Erro ao buscar todos os clientes! " + se.getMessage());


    }
    catch(ClassNotFoundException e)
    {throw new ClassNotFoundException("Não foi possível localizar o driver do banco de dados! " + e);}
}


//public static void  buscarClienteFNome(ClienteF cf) throws SQLException, ClassNotFoundException {

public static ArrayList <ClienteF> buscarClienteFNome() throws SQLException, ClassNotFoundException {
    try {
        Connection conexao = ConexaoBanco.conecta();
        Statement stat = conexao.createStatement();
        ClienteF cf= new ClienteF(); 
        String sql = "";
        sql = "select * from empresa.pessoafisica where nome= " + cf.getNome() + "";
        ResultSet rs = stat.executeQuery(sql);
        ArrayList <ClienteF> pAux = new ArrayList<ClienteF>();
         

        while (rs.next()) {
            ClienteF c = new ClienteF();
            c.setCpf(rs.getInt("cpf"));
            c.setNome(rs.getString("nome"));
            c.setSobrenome(rs.getString("sobrenome"));
            c.setRg(rs.getInt("rg"));
            c.setIdade(rs.getInt("idade"));
            c.setDtNascimento(rs.getInt("dtNascimento"));
            c.setSexo(rs.getString("sexo"));
            c.setEstadocivil(rs.getString("estadocivil"));
            c.setEmail(rs.getString("email"));
            c.setDDD(rs.getInt("ddd"));
            c.setTelefone(rs.getInt("telefone"));
            c.setIdade(rs.getInt("idade"));
            c.setEndereco(rs.getString("endereco"));
            c.setCidade(rs.getString("cidade"));
            c.setEstado(rs.getString("estado"));
            c.setPais(rs.getString("pais"));
            pAux.add(c);
        }

      return pAux;

    } catch (SQLException se) {
        throw new SQLException("Erro ao buscar todos os clientes! " + se.getMessage());
    }
    catch(ClassNotFoundException e)
    {throw new ClassNotFoundException("Não foi possível localizar o driver do banco de dados! " + e);}
}
   
//public static ArrayList <ClienteJ cj> buscarClienteJNome() throws SQLException, ClassNotFoundException {
/*(public static void  buscarClienteJNome(ClienteJ cj) throws SQLException, ClassNotFoundException {
    try {

        Connection conexao = ConexaoBanco.conecta();
        Statement stat = conexao.createStatement();

        String sql = "";
        sql = "select * from empresa.pessoajuridica where nome= " + cj.getNome() + "";

        ResultSet rs = stat.executeQuery(sql);
        ArrayList <ClienteJ> pAux = new ArrayList<ClienteJ>();

        while (rs.next()) {
            ClienteJ c = new ClienteJ();
            c.setCnpj(rs.getInt("cnpj"));
            c.setNome(rs.getString("nome"));
            c.setNomeFantasia(rs.getString("nome fantasia"));
            c.setCnae(rs.getInt("cnae"));
            c.setLogradouro(rs.getString("logradouro"));
            c.setNumero(rs.getInt("numero"));
            c.setComplemento(rs.getString("complemento"));
            c.setBairro(rs.getString("bairro"));
            c.setCidade(rs.getString("cidade"));
            c.setEstado(rs.getString("estado"));
            c.setPais(rs.getString("pais"));
            c.setCep(rs.getInt("cep"));
            c.setDdd(rs.getInt("ddd"));
            c.setTelefone1(rs.getInt("telefone1"));
            c.setTelefone2(rs.getInt("telefone2"));
            c.setEmail(rs.getString("email"));
            
            pAux.add(c);
        }

    return pAux;

    } catch (SQLException se) {
        throw new SQLException("Erro ao buscar todos os clientes! " + se.getMessage());
    }
    catch(ClassNotFoundException e)
    {throw new ClassNotFoundException("Não foi possível localizar o driver do banco de dados! " + e);}
}*/

public static void mostrarQuantidadeClientes () throws SQLException, ClassNotFoundException {
    try {

        Connection conexao = ConexaoBanco.conecta();
        Statement stat = conexao.createStatement();

        String sql = "";
        sql = "select count(*) from pessoafisica;";
        stat.execute(sql);
        stat.close();
        conexao.close();

    } catch (SQLException se) {
        throw new SQLException("Erro ao mostrar a quantidade de clientes cadastrados! " + se.getMessage());
    }
    catch(ClassNotFoundException e)
    {throw new ClassNotFoundException("Não foi possível localizar o driver do banco de dados! " + e);}
}

public static void mostrarQuantidadeClientes2 () throws SQLException, ClassNotFoundException {
    try {

        Connection conexao = ConexaoBanco.conecta();
        Statement stat = conexao.createStatement();

        String sql = "";
        sql = "select count(*) from pessoajuridica;";
        stat.execute(sql);
        stat.close();
        conexao.close();

    } catch (SQLException se) {
        throw new SQLException("Erro ao mostrar a quantidade de clientes cadastrados! " + se.getMessage());
    }
    catch(ClassNotFoundException e)
    {throw new ClassNotFoundException("Não foi possível localizar o driver do banco de dados! " + e);}
}

public static void deletarClientes() throws SQLException, ClassNotFoundException {
    try {

        Connection conexao = ConexaoBanco.conecta();
        Statement stat = conexao.createStatement();

        String sql = "";
        sql = "drop table pessoafisica;";
        stat.execute(sql);
        stat.close();
        conexao.close();

    } catch (SQLException se) {
        throw new SQLException("Erro ao deletar! " + se.getMessage());
    }
    catch(ClassNotFoundException e)
    {throw new ClassNotFoundException("Não foi possível localizar o driver do banco de dados! " + e);}
}

public static void deletarPessoaF(ClienteF cf) throws SQLException, ClassNotFoundException {

    try {

        Connection conexao = ConexaoBanco.conecta();
        Statement stat = conexao.createStatement();

        String sql = "";
        sql = "delete from pessoafisica where cpf= " + cf.getCpf() + "";

        stat.execute(sql);

        stat.close();
        conexao.close();

    } catch (SQLException se) {

        throw new SQLException("Errro ao deletar! " + se.getMessage());

    }
}

public static void deletarPessoaJ(ClienteJ cj) throws SQLException, ClassNotFoundException {

    try {

        Connection conexao = ConexaoBanco.conecta();
        Statement stat = conexao.createStatement();

        String sql = "";
        sql = "delete from pessoajuridica where cnpj= " + cj.getCnpj() + "";

        stat.execute(sql);

        stat.close();
        conexao.close();

    } catch (SQLException se) {

        throw new SQLException("Errro ao deletar! " + se.getMessage());

    }
}

public static void atualizarClienteF(ClienteF f) throws SQLException, ClassNotFoundException {

    try {

        Connection conexao = ConexaoBanco.conecta();
        Statement stat = conexao.createStatement();

        String sql = "";
        sql = "update pessoafisica set nome='" + f.getNome() + "', sobrenome='" + f.getSobrenome() + "', idade='" + f.getIdade() + "', dtNascimento='" + f.getDtNascimento() + "', sexo='" + f.getSexo() + "', estadocivil='" + f.getEstadocivil() + "', email='" + f.getEmail() + "', ddd='" + f.getDDD() + "', telefone='" + f.getTelefone() + "', endereco='" + f.getEndereco() + "', cidade='" + f.getCidade() + "', estado='" + f.getEstado() + "', pais='" + f.getPais() + "'  where nome= " + f.getNome() + "";

        stat.executeUpdate(sql);

        stat.close();
        conexao.close();

    } catch (SQLException se) {

        throw new SQLException("Erro ao atualizar! " + se.getMessage());

    }
}    

}//fim da Classe ClienteBanco [/code]

Eu consigo tirando o “where nome…”

Mas eu quero é isso mostrar e alterar só do cliente. Tem alguma coisa errada nessa linha?

Porque compila, só que daí não aparece nada!

Justamente Letticia, por isso que estou te dizendo para usar o PreparedStatement, se você que criou não sabe onde ta o erro
no comando SQL, imagina eu… rsrs

se quiser uma apostila de como otimizar o uso com o BD de dados, me passa o teu e-mail por mensagem privada que te mando,
la na apostila fala justamente isso que disse acima.

mas assim, no ultimo f.getNome(), se mal me engano está faltando aspa simples, da uma olhada.

um abraço

Fui escrevendo e não tinha lido o seu segundo post.
Bom, to dando uma olhada no que você me mandou…Vou tentar com isso…

Vou dar uma olhada nisso do último get.
Tentei te mandar o e-mail e deu erro. Vou mandar de novo…

Obrigada pela ajuda!

e outra, no metodo deletarClientes, você coloca logo um DropTable, mas tipo, se você for adicionar um novo
cliente e não tiver uma criação dessa tabela em tempo real, vai dar erro viu.
o mais recomendado para excluir todos os clientes seria:

Delete * From Clientes;

um abraço

Ah sim, obrigada pelo toque.
Na real isso tá comentado aqui! :stuck_out_tongue:
Não tá sendo usado…

Eu já tinha colocado

[code]public void deletarClientes() throws SQLException, ClassNotFoundException {
try {

        Connection conexao = ConexaoBanco.conecta();
        Statement stat = conexao.createStatement();

        String sql = "";
        sql = "delete from pessoajuridica;";
        stat.execute(sql);
        stat.close();
        conexao.close();
        
        JOptionPane.showMessageDialog(frame,"Clientes deletados! Se desejar certificar-se disso, volte para a tela \nVisualizar Clientes, clique em limpar, e logo após \nvisualize a lista novamente!");
        
    } catch (SQLException se) {
        throw new SQLException("Erro ao deletar! " + se.getMessage());
    }
    catch(ClassNotFoundException e)
    {throw new ClassNotFoundException("Erro! Não foi possível localizar o driver do banco de dados! " + e);}
}[/code]

Nas próprias classes onde tá sendo usado… Isso tá tudo certinho…

ahhh ta certo, rsrs, é que não li tudo.
e sim, deu certo, colocar as aspas simples??

e o e-mail ta sendo enviado, é que o pdf é quase 5 MB

Sobre as aspas. Não, não adiantou… u.u

ahhhhh, ta certo.
mandei a apostila la, minha net ta uma porcaria, ae demorou de upar, mas ja enviei.
um abraço

Já baixei, valeu.

Boa noite leticia! Eu realmente não vi algum erro no seu codigo nem intendi muito bem o que se passa! mas sou muito iniciante no assunto também mas vou postar o meu código parecido com o seu para você dar uma comparada:

    public boolean consultar(String nome, ClassClientes c) {
        String sql = "select * from clientes where Upper(Nome) Like Upper('%"+ nome + "%')";
        boolean achou = false;
        
        try {
            Statement stmt = (Statement) connection.createStatement();
            ResultSet rs = stmt.executeQuery(sql);
            
            while (rs.next()) {
                c.setNome(rs.getString("Nome"));
                c.setCidade(rs.getString("Cidade"));
                c.setTelefone(rs.getString("Telefone"));
                achou = true;
            }        
            rs.close();
            stmt.close();    
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
        return achou;
    }

Nesse código de cima eu passo como parâmetro um nome de consulta que está em um TextField. Passo também um objeto do tipo clientes que tem os mesmos campos do meu banco de dados(bem simples) então se achar um cliente com esse nome o método devolve o objeto preenchido e com ele dou um setText nos campos referentes.

Aí vai meu código para alterar:


    public int alterar(String ConsNome, ClassClientes cliente) {
        String sql = "update clientes set Nome = '" + cliente.getNome() + "', Cidade = '" + cliente.getCidade() + "', Telefone = '" + cliente.getTelefone() + "' where Nome = '" + ConsNome + "'";
        int registro;
        
        try {
            Statement stmt = (Statement) connection.createStatement();
            
            registro = stmt.executeUpdate(sql);
            
            stmt.close();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
        return registro;
    }

Os parâmetros desse método funciona da mesma forma que o outro. Porém ele usa um nome de consulta passado como parâmetro para usar no where que se a pessoa digitar o no textfield o nome simplificado tipo para Esdras digitar esd na hora que ele for preencher os campos eu preencho o campo de consulta com o nome real cadastrado para não ocorrer erro nesse método.
Aí vai o para Salvar:


    public void salvar(ClassClientes cliente) {
        String sql = "insert into clientes(Nome, Cidade, Telefone) values (?, ?, ?)";
        
        try {
            PreparedStatement stmt = (PreparedStatement) connection.prepareStatement(sql);
            
            stmt.setString(1, cliente.getNome());
            stmt.setString(2, cliente.getCidade());
            stmt.setString(3, cliente.getTelefone());
            
            stmt.execute();
            stmt.close();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }

Esse código é bem simples usando o método citado pelo nosso amigo de dar sets nos valores em ?.
E por ultimo o de excluir:

    public int excluir(String ConsNome) {
        String sql = "delete from clientes where Nome = '" + ConsNome + "'";
        int registro;
        
        try {
            Statement stmt = (Statement) connection.createStatement();
            
            registro = stmt.executeUpdate(sql);
            
            stmt.close();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
        return registro;
    }

Aqui também bem simples apenas passo o nome de consulta e ele apaga todos campos referente àquele nome…

Se quiser que te passo por email os meus arquivos .class desse programa(ele é muito simples pois foi o primeira conexão com banco de dados). A uma dica! Se quiser continuar usando um tipo de ArrayList usa um HashSet que tem quase as mesmas características mas possui uma velocidade incrivelmente maior na hora de adicionar e pesquisar no set!
Você pode usa essa sintaxe(pode pesquisar os outros comandos também bem utis):

Collection<String> Set = new HashSet<String>();
Set.add("Olá"); //Aqui adiciona uma string como nos arraylists.
boolean contem = Set.contains("Olá"); //Aqui me retorna se no set possui ou não a string "Olá".

Em uma apostila de java que eu li em um exercício tinha um codigo que você deixava uma especie de cronometro(Aquele de pegar a diferença do tempo final com o inicial e dividir por 1000) e adicionar 30 000 números e depois pesquisar os mesmos usando ArrayLists e HashSets. No exemplo o arraylist deu cerca de 15 segundos(não lembro direito) mas o hashset não deu nem 1 segundo(Nem metade se eu me lembro bem). Fica a dica. Qualquer coisa manda um email no esdrasbrz@gmail.com

Obrigado! Tomara que funcione seu código.

*Editando…
Esqueci de dizer que o meus métodos de alterar e excluir devolve um número inteiro que é devolvido no comando:

stmt.executeUpdate(sql);

e dentro do método que chama esses métodos uso algo do tipo:

if (alterar(ConsNome, cliente) != 0) {
      //Código funcionou.
} else {
      //Não funcionou.
}

Obrigado novamente. Espero que dessa forma funcione! Beijos.