Versão atual:

Método "Remover", retorna sucesso, mesmo sem ter nada no Banco de Dados. Como tratar isso numa aplicação ?

Boa noite galera, estou com uma problema na minha aplicação que não estou conseguindo resolver. É o seguinte: Tenho dois métodos, "remove()" e "removeTudo()". O primeiro, recebe dois objetos do tipo "Date" como parâmetros e executa uma query SQL de exclusão no Banco de Dados para os dados que estão dentro do intervalo das datas. O segundo, não recebe parâmetros e simplesmente executa uma query SQL de exclusão no Banco de Dados. O problema de ambos, é que mesmo quando não é encontrado nenhum dado no banco, a query é executada e o programa mostra um mensagem de sucesso, mesmo sem ter excluído nada. Diante disso, como devo tratar esse problema ? Pois, se isso gerasse uma exceção, poderia tratar facilmente usando um "try-cach", mas como não gera, o que devo fazer ? Segue abaixo, o meu código pra vocês darem uma analisada:

Métodos da classe DAO

public void remove(Date dataInicial, Date dataFinal) {
        try {
            PreparedStatement stmt = connection.prepareStatement("DELETE FROM "
                    + "registro_clima WHERE data BETWEEN ? AND ?");

            stmt.setDate(1, dataInicial);
            stmt.setDate(2, dataFinal);

            stmt.execute();
            stmt.close();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }

    public void removeTudo() {
        try {
            PreparedStatement stmt = connection.prepareStatement("DELETE FROM registro_clima");          

            stmt.execute();
            stmt.close();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }

Código chamado ao clicar no botão

private void btExcluirActionPerformed(java.awt.event.ActionEvent evt) {                                          
        if (JTFDataInicial.getValue() == null) {
            JOptionPane.showMessageDialog(this, "Informe a Data Inicial");
            JTFDataInicial.requestFocus();
        } else if (JTFDataFinal.getValue() == null) {
            JOptionPane.showMessageDialog(this, "Informe a Data Final");
            JTFDataFinal.requestFocus();
        } else {            
            //Pegando a data informada nos campos de busca
            java.util.Date dataInicio = (java.util.Date) JTFDataInicial.getValue();
            java.util.Date dataFim = (java.util.Date) JTFDataFinal.getValue();
            dao.remove(java.sql.Date.valueOf(formatadorYMD.format(dataInicio)),
                    java.sql.Date.valueOf(formatadorYMD.format(dataFim)));

            System.out.println("Removido!");
            JOptionPane.showMessageDialog(this, "Dados Removido Com Sucesso !");
        }
    }                                         

    private void btExcluirTudoActionPerformed(java.awt.event.ActionEvent evt) {                                              
        dao.removeTudo();
        System.out.println("Removido!");
        JOptionPane.showMessageDialog(this, "Dados Removido Com Sucesso !");
    }

Versão(1):

Ver a versão formatada

Método "Remover", retorna sucesso, mesmo sem ter nada no Banco de Dados. Como tratar isso numa aplicação ?

Comentário

new question