Bom galera estou com outro probleminha com ireport deve ser bem simples mais to me quebrando…
Tenho uma classe com meus atributos onde nessa classe tenho um atributo do tipo resultSet, ate ai blz
trabalhamos aqui com procedures nessa que estou usando me retorna dados e um cursor, tranquilo…
no retorno da procedure passo os dados para minha classe populando meus atributos inclusive meu resultset
pergunta como faço para pegar os dados do resultset para imprimir no detail no relatorio?
Pegue o seu ResultSet, passe ele para as suas entidades e passe uma lista de entidades para o JRBeanCollection.
matheus306
Ai, não rola de vc criar uma lista do seu resultSet e passar não? Quanto menos vc exigir do ireport melhor cara! trate tudo que possível no java e mande pra ele exibir!
Esta funcionando?
Quando vc passa a lista ele imprime?
diogoprosoft
Sim está abrindo o relatorio sem o while com o while trava tudo, hehe
diogoprosoft
como posso abrir o resultset do atributo da classe? pois o while rs.next() so faz quando vem do banco…
acho que é esse o problema!!!
matheus306
Cara, uma coisa é fato! IReport so serve pra mostrar dados. Trabalhar dados nele é roubada!!!
diogoprosoft
sim mais o que eu quero é simplesmente pegar os dados do meu atributo ResultSet e setar no outros atributos da mesma classe, mais não estou conseguindo…
como posso fazer isso?
matheus306
while(resultSet.next()){
funcionario=newFuncionario();funcionario.setId(resultSet.getInt("NomeDaColuna ou numero"))funcionario.setNome(resultSet.getNome("NomeDaColuna ou numero"))...
...
listaDeFuncionario.add(funcionario)
}
Faça isto em uma classe fora, pra ficar mais organizado! Uma classe possui os atributos (Id, nome, RG) e outra faz a pesquisa no banco de dados e retorna. Entedeu?
diogoprosoft
Mano eu já fiz isso tbm, porém ta dando problema na hora de fazer o while ele pula direto nem chega fazer o while, pq?pq?pq?
matheus306
Ele so pode estar vazio! ele so pula se estiver vazio, a não ser que ele esteja dentro de um bloco try-catch. Debuga seu código ai e verifica o resultado da query no seu resultSet.
diogoprosoft
cara ele esta vindo populado!!!
matheus306
ele não esta dentro de nenhum try-catch não ne? se não… andes do while de um resultSet.next(); uma linha antes do while.
Dentro de ExtratoParcelaContrato vc possui um resultSet que recebe o seu CurParcelas. Certo? Não teria como criar um método no seu service ai que vc passa o ExtratoParcelaContrato ele busca o CurParcelas? Ou CurParcela esta na mesma tabela de ExtratoParcelaContrato?
diogoprosoft
Mano antes de mais nada quero te agradecer pelo esforço em me ajudar, muito agradecido mesmo.
cara pior que os analistas me ferraram esta na mesma, é uma procedure que retorna campos e um cursor :-o
matheus306
putz brother!!
o foda que a única maneira de acessar o resultset é atravez do next mesmo. o que vc pode fazer é um for dentro pra pegar as colunas. mas nem adianta, se ele nem entra no while.
diogoprosoft
vou dar mais umas tentadas quando conseguir posto minha solução…
obrigado a todos
diogoprosoft
Bom consegui resolver todos os problemas aqui…
O lance do while esta sim vindo o cursor do banco de dados = null o restante ficou show de bola
vou colocar o meu dodigo atual para quem tiver duvidas de como imprimir relatorio a partir de uma classe.