[Resolvido] Erro busca no banco

Bom dia estou tentando fazer uma busca no banco pela descrição e quero que retorne uma lista ordenada. Meu código.

public LinkedList buscadescricao(Setor setor) {
LinkedList lista = new LinkedList<>();
sql = “select * from tbl_setor where descricao like ‘%?%’ ORDER BY ID_setor ASC”;
try {

        pst = conexao.prepareStatement(sql);
       // coloquei um sout e o setor.getDescricao() esta com valor coreto
        pst.setString(1, setor.getDescricao());// esta dando erro aki eu acho
        ResultSet rs = pst.executeQuery();

        while (rs.next()) {
            setor = new Setor();
            setor.setID_setor(rs.getInt("ID_setor"));
            setor.setDescricao(rs.getString("descricao"));
            setor.setSequencia(rs.getInt("sequencia"));

            if (lista == null) {
                lista = new LinkedList();
            }

            lista.add(setor);
        }
    } catch (SQLException e) {
        JOptionPane.showMessageDialog(null, e.getMessage());
    }
    return lista;
}

porem a hora que executo da um erro de que o índice da coluna esta fora do intervalo.

Tente fazer da seguinte forma:

sql = “select * from tbl_setor where descricao like ? ORDER BY ID_setor ASC”;

pst.setString(1, "%" + setor.getDescricao() + "%");

obrg @Jonathan_Medeiros uma parte deu certo so que agora ele não entra no while para colocar os dados na lista

Verificou se o resultset está retornando valores para poder percorrer ?

não como faço isso?

Debugando!
Pega essa sua classe no debug e vai analisando ponto a ponto desde a execução do SQL até o momento em que é chamado o laço while.

1 curtida

Então ela chega normal ate o while ela só não entra provavelmente o meu rs que eh o resultset esteja vazio quando faço as busca mais era para estar com algo tem como eu ver oque tem nele.

tira as aspas simples:
pst.setString(1, “%” + setor.getDescricao() + “%”);

1 curtida

Muito obrigado @Rodrigo_Void e @Jonathan_Medeiros cada um me ajudou com um pouco deu certo aqui sou novo no guj quando 2 pessoas ajudam cada um com um pouco eu coloco resolvido para quem?

Editei a resposta, obrigado por avisar, eu nem me lembrei desse detalhe! :sweat_smile:

Fica a seu critério, independente de quem seja o importante é que o problema tenha sido resolvido e sua dúvida sanada!

obrg!