Não consigo inserir itens nessa tabela por que?

 Pessoal seguinte não estou conseguindo efetuar inserts nessa tabela não sei pq, nos outros inserts funciona numa boa, mas nesse não . Segue abaixo o codigo:

public void efetuar_pagamento(String descricao, double v_pagamento) throws SQLException{

    open_database();

    Pega_data data = new Pega_data();
    String date = data.retorna_data();

    double saldo_conta=verifica_saldo(CC,AG,Senha);
    
        try{
            
            stmt = conn.createStatement();
            stmt.executeUpdate("INSERT INTO pagamentos (cc_pagamentos,data_pagamento,descricao_pagamento,valor_pagamento) 

VALUES (’"+CC+"’,’"+date+"’,’"+descricao+"’,’"+v_pagamento+"’)");

            JOptionPane.showMessageDialog(null,"Pagamento efetuado com sucesso");
            
            


        }
       catch(SQLException ex){

        JOptionPane.showMessageDialog(null,"Erro ao inserir na table pagamentos");

      }


        

       
    close_database();
    stmt.close();
    
    
}

Sempre da a mensagem que não foi possivel inserir na tabela pagamentos, qq estou fazendo de errado, ja conferi os campos da tabela e tudo segue abaixo a tabela em mysql

create table pagamentos(

 cc_pagamentos char(6),
 data_pagamento varchar(10),
 descricao_pagamento varchar(40),
 valor_pagamento double,
 PRIMARY KEY (cc_pagamentos)

);

Lembrando que CC,AG,Senha estão declarado como static no inicio da classe;

Posta a mensagem da exception pra gente ver.

A mensagem é : com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed

por acaso o teu método verifica_saldo() não está fechando a conexão não ???

a mensagem está dizendo que a connection está fechada. de onde vem esta variável conn ?

Pessoal segue abaixo os codigos:

public void open_database() {

    try {

            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/sib","root","123");
            

        }

    catch (ClassNotFoundException e) {

            e.printStackTrace();
            JOptionPane.showMessageDialog(null,"Não foi possivel encontrar o driver de banco: " + e.getMessage());

        }

    catch (SQLException e) {

            JOptionPane.showMessageDialog(null,"Erro ao conectar com o banco: " + e.getMessage());

        }

}

public void close_database() {

    try {

        if (stmt != null){

            stmt.close();
            conn.close();
            //JOptionPane.showMessageDialog(null,"Desconectado!");

         }

    } catch (SQLException e) {

        e.printStackTrace();
        JOptionPane.showMessageDialog(null,"Erro ao se desconectar com o banco: " + e.getMessage());

    }
}

public double verifica_saldo(String cc, String ag, String senha) throws SQLException{

    open_database();

    double saldo=0;

   try{

        stmt = conn.createStatement();
        String sql_script ="SELECT saldo_cliente FROM clientes WHERE cc_cliente= '"+cc+"' AND  agencia_cliente= '"+ag+"'  AND senha_cliente='"+senha+"' ";
        rs = stmt.executeQuery(sql_script);
   
     while ( rs.next()){

         saldo= rs.getDouble("saldo_cliente");
     
     }

    }
     catch(SQLException ex){

        JOptionPane.showMessageDialog(null, "Erro");

     }
    
close_database();

return saldo;

}

Não sei pq está dando esse erro, pois quando faço da mesma maneira para cadastrar um usuário funciona perfeitamente

Pessoal já achei meu erro, obrigado a todos