public String[][] executarQuery(String sql, boolean obter_retorno, String[] atributosARetornar) { 
        
        if(atributosARetornar == null) {
            atributosARetornar = new String[]{};
        }
        
        String[][] retorno = new String[999999][atributosARetornar.length];
        int cont_linhas = 0;
        
        try {   
            Class.forName("com.mysql.jdbc.Driver");   
                Connection con = DriverManager.getConnection(new CoreSql().db_conexao);
            Statement st = con.createStatement();   
            ResultSet rs = null;

            if(obter_retorno) {
                
                rs = st.executeQuery(sql);
                while (rs.next()){
                    for(int i = 0; i < atributosARetornar.length; i++) {
                        retorno[cont_linhas][i] = rs.getString(atributosARetornar[i]);
                    }
                    cont_linhas++;
                }
            } else {
                st.executeUpdate(sql);
            }
            
            st.close();   
            con.close();
            
        } catch (Exception e) {
            System.out.println(e.getMessage());   
        }
        
        String[][] resultado_final = null;
        if(obter_retorno && cont_linhas > 0) {
            resultado_final = new String[cont_linhas][atributosARetornar.length];
            for(int c = 0; c < cont_linhas; c++) {
                resultado_final[c] = retorno[c];
            }
        }
        return resultado_final;
        
    }