Pegar os dados como char no banco e setar o objeto char

Olá pessoal na linha 15 eu quero pegar os dados do banco que é caracter porem o result set
so tem o metodo getString para eu poder pegar o objeto, porem nao consigo converter
gostaria de saber o que posso fazer para setar meu objeto que no caso
o codigo cve.setTrbicm(rs.getString(“Trbicm”)); é char como posso fazer isso pois o getString é incompativel
obrigado desde já.


 public List<Safcve> getLista(String descricao)throws SQLException{
        String sql = "select * from safcve where descve like ?";

        PreparedStatement stmt = this.conexao.prepareStatement(sql);
        stmt.setString(1, descricao);
        ResultSet rs = stmt.executeQuery();

        List<Safcve> cveLista = new ArrayList<Safcve>();

        while(rs.next()){
            Safcve cve = new Safcve();
            cve.setCodcve(Integer.valueOf(rs.getString("CODCVE")));
            cve.setDescve(rs.getString("DESCVE"));
            cve.setCodtrb(rs.getString("CODTRB"));
            cve.setTrbicm(rs.getString("TRBICM"));
            cveLista.add(cve);
        }
        rs.close();
        stmt.close();
        return cveLista;
    }

Paulo,

Você pode fazer da seguinte forma:cve.setTrbicm((Character)rs.getObject("TRBICM")); Abraço.

Obrigado pela atenção Isaias, mas olha a exeção que deu

Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Character
at dao.SafcveJpaController.getLista(SafcveJpaController.java:153)
at visao.FrameClassificacao.listarCve(FrameClassificacao.java:215)
at visao.FrameClassificacao.(FrameClassificacao.java:55)
at jvisage.Chamada.cve(Chamada.java:33)

Olá pessoal o que mais pode ser feita para converter o char para o caracter pois
esta dando exeção alguem ai poderia dar uma dica ?
obrigado.

Ola,
acho que é mais ou menos assim
cria uma variavel do tipo Character e faz ele receber teu objeto primitivo do tipo char

espero que ajude!
:slight_smile:

na realidade presiso recuperar do banco se é ‘S’ de sim ou ‘N’ de não para setar o objeto
fiz assim e nao deu, retorna a mesma exeção;

char trbicm = (Character) rs.getObject("TRBICM");
            cve.setTrbicm(trbicm);

Achei uma solução porem trabalhosa, porque são vários campos que tenho que fazer essa configuração

String trbicm =  rs.getString("TRBICM");
            if(trbicm.equals("S")){
               cve.setTrbicm('S');
            }else{
               cve.setTrbicm('N');
            }

se alguém souber se uma solução melhor obrigado.

[quote=pmlm]cve.setTrbcim(rs.getString("TRBICM").chatAt(0))
[/quote]

Valeu!!! Me ajudou aqui no meu projeto, e muito!!!