Ajuda com o metodo deletar

galera estou teno que fazer um projeto de livraria é bem simples tenho uma tabela chamada livro_cad e dentro tenho os seguintes campos, titulo,autor,descr,valor fiz os metodos de inserir e exibir mais noa esou conseguindo fazer o de excluir, como vcs fazer, colocam o resuktado da consulta dentros de um arraylist e fazer um iterator pra trazer eles, pq eu estou fazendo desse jeito mais noa funciona… vou postar as minhas classes se possivel me ajudem estou começando com java e estou meio enrolado com isso…

Classe Produtos


package bean;


public class Produtos {
    private String titulo;
    private String Autor;
    private String descr;
    private int valor;
    private int id;
    
    public Produtos() {
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getAutor() {
        return Autor;
    }

    public void setAutor(String Autor) {
        this.Autor = Autor;
    }

    public String getDescr() {
        return descr;
    }

    public void setDescr(String descr) {
        this.descr = descr;
    }

    public int getValor() {
        return valor;
    }

    public void setValor(int valor) {
        this.valor = valor;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
    
}

Classe Dao



package Persistencia;

import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;


public class Dao {
 protected static PreparedStatement stmt;
 protected static Connection con;
 protected static ResultSet rs;
    
    public Dao() {
    }
    
    public void open(PrintWriter out){
        try{
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/Livraria","root","nat");
        }catch(Exception e){
            out.print("Erro ao se Conectar com o Banco contacte o Administrador<br> " + e.getMessage());
        }
    }
    
}

Classe ProdutosDao




package Persistencia;

import bean.Produtos;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;


public class ProdutosDao extends Dao {
    
    
    public ProdutosDao() {
    }
    
    public void gravar(PrintWriter out,Produtos prod){
        
        try{
            
            stmt = con.prepareStatement("INSERT INTO CAD_LIVRO(TITULO,AUTOR,DESCR,VALOR) VALUES(?,?,?,?)");
            stmt.setString(1,prod.getTitulo());
            stmt.setString(2,prod.getAutor());
            stmt.setString(3,prod.getDescr());
            stmt.setInt(4,prod.getValor());
            stmt.execute();
            stmt.close();
            
        }catch(Exception e){
            out.print("<b>Erro ao gravar no banco contacte o Administrador</b><br>" +e.getMessage());
        }
    }
    
    public List exibir(PrintWriter out,Produtos prod){
        List lista = new ArrayList();
        try{
            stmt = con.prepareStatement("SELECT * FROM CAD_LIVRO");
            rs = stmt.executeQuery();
            
            while(rs.next()){
               Produtos prodi = new Produtos();
               
               prodi.setAutor(rs.getString("autor"));
               prodi.setTitulo(rs.getString("titulo"));
               prodi.setDescr(rs.getString("descr"));
               prodi.setValor(rs.getInt("valor"));
               lista.add(prodi);
               
            }
            
        }catch(Exception e){
            out.print("Erro ao exibir os dados contacte o Administardor " + e.getMessage());
        }
        return lista;
    }
    
    public List deletar(PrintWriter out,Produtos prod){
        List list = new ArrayList();
        
        try{
            stmt = con.prepareStatement("DELETE FROM CAD_LIVRO WHERE ID = ?");
            stmt.setInt(1,prod.getId());            
            rs = stmt.executeQuery();
           
            while(rs.next()){
                Produtos produtos = new Produtos();
                
                prod.setId(rs.getInt("id"));
                list.add(produtos);                
                break;
            }                                  
        }catch(Exception e){
            
        }
        return list;
        
        
    }
    
    
    
    
}

o que eu quero fazer nno metodo delete é o cara seleciona o nome ou o autor do livro que ele quer deletar e clica em apagar…
bom é isso galera abraço a todos!!!

Não entendi muito bem o problema que você tentou descrever. Mas pelo que vi no método deletar, o que está no lugar errado ali é aquele “while”. Tirando essa parte o método deletar fica ok.

Você pode invocar o método deletar informando um produto (não precisa passar aquele PrintWriter ali e depois invoca o método exibir que você terá a nova lista de livros atualizada, sem o livro que acabou de ser apagado.