Ajuda com DAO método todosToString

5 respostas
K

Bom dia Pessoal.
Bom estou com seguinte problema:
Tenho um método todosToString(Classe AplicacaoDAO) que faz a chamada a uma classe TelaPesquisa(QUE VAI APRESENTAR ESTA PESQUISA E ESTA TELA E PADRÃO PARA TODAS AS CLASSES).
Neste metodo todosToString eu chamo meus atributos tipo:

String codigoPaciente = String.ValueOf(rs.getInt(1));

Meu problema e o seguinte dentro deste metodo todosToString são chamados os atributos iniciais da classe(NESTE CASO AplicacaoDAO), mas em uma classe especial(classe AplicacaoDAO) eu preciso chamar dos dados desta classe(OK) e os dados de duas outras classes(PROBLEMA :evil: ).
Alguém tem alguma ideia do que posso fazer?!!!

5 Respostas

AlexandreTLazaro

Mas pq vc quer deixar um código ser uma String? ele é alfa-numérico?

AlexandreTLazaro

se vc fizer String codigoPaciente = (rs.getString(1)); vc jah vai converter td isso pra string…

Explica melhor a sua questão, pois está confusa

K
AlexandreTLazaro orbigado pela atenção. Vou tentar explicar melhor o que quero. Então na classe AplicacaoDAO tenho os dados dela certo como: pst.setInt(1, aplicacao.getCodigo)); pst.setInt(2, aplicacao.getPaciente().getCodigo())); e assim vai... Meu problema e o seguinte neste metodo todosToString os dados da aplicacaoDAO eu faço como vc me falou bl até ai tudo certo, meu problema e o seguinte, preciso alem dos dados da AplicacaoDAO de alguns dados da classe FrascoDAO e da classe LaboratorioDAO, dados estes que não possuo na aplicacaoDAO(Mas que através do frasco_vacina, frasco_diluente, eu tenho acesso a estes dados pelo menos pelo DB rs) Segue metodo todosToString:
public ArrayList todosToString (EstruturaPesquisa pesquisa) throws SQLException{
ArrayList<String[]> aplicacoes = new ArrayList<String[]>();
String sql = "SELECT FROM APLICACAO ORDER BY" + pesquisa.getCampo() + pesquisa.getOrdem();
If(pesquisa.getLimite() >0){
sql+= "LIMIT + pesquisa.getLimite();
}
PreparedStatement pst = connection.prepareStatement(sql);
ResultSet rs = pst.executeQuery();
while(rs.next()){
String codigo = String.valueOf(rs.getInt(1));
String paciente  = String.valueOf(rs.getInt(2));
String vacinador = String.valueOf(rs.getInt(3));
[u]( E EXATAMENTE AQUI QUE PRECISO CHAMAR OS OUTROS DADOS QUE NÃO ESTÃO NA APLICACAODAO)[/u]
..........


String tupla[] = {codigo, paciente, vacinador...........}
aplicacoes.add(tupla);
}
rs.close();
pst.close();
return aplicacoes;
}
AlexandreTLazaro

ok…

vamos lah…

primeiro

String sql = "SELECT FROM APLICACAO ORDER BY" + pesquisa.getCampo() + pesquisa.getOrdem(); // aqui vc esqueceu de especificar os campos q vc quer q retorne do select...vc tbm pode setar a posição da tua coluna no banco de dados, não preceisa pegar o teu atributo pra fazer um order by //seria String sql = "SELECT campo, ordem, blah, blah, blah FROM APLICACAO ORDER BY 1, 3"

segundo…jah que vc quer retornar objetos de outras tabelas…vc vai ter q fazer uma relação nesse teu select, fazendo join, left join, right join, qual vc achar q suprirá suas necessidades…

terceiro…no seu bean q deve ser Aplicacao…onde tem os gets e sets…vc tem os outros objetos como Laboratorio e Fraso?
se não tiver vc vai fazer o seguinte…

public class Aplicacao() { private Laboratorio laboratorio = new Laboratorio(); private Frasco frasco = new Frasco(); }

Assim…vc terá seus objetos relacionados com a classe Aplicacao

K

AlexandreTLazaro obrigado pela ajuda…Seguir seus passos e tentar fazer por aqui…
Obrigado qualquer coisa torno a postar.

Criado 18 de novembro de 2011
Ultima resposta 18 de nov. de 2011
Respostas 5
Participantes 2