Fórum [Ajuda] popular dados #388216
09/10/2010
0
public List getManejo() throws SQLException {
String sql = "select remanejo.id_remanejo,remanejo.remj_data,remanejo.id_origem,tanques.tanq_descricao,"
+ "remanejo.id_destino,remanejo.remj_qtd from public.remanejo inner join public.tanques on tanques.id_tanque = remanejo.id_origem";
ResultSet rs = executeQuery(sql);
List toReturn = new LinkedList();
while (rs.next()) {
toReturn.add(populateManejo(rs));
}
return toReturn;
}
private Remanejo populateManejo(ResultSet rs) throws SQLException {
Remanejo toReturn = new Remanejo();
toReturn.setId(rs.getInt("id_remanejo"));
toReturn.setData(rs.getDate("remj_data"));
toReturn.setDescricao(rs.getString("tanq_descricao"));
toReturn.setQtd(rs.getInt("remj_qtd"));
return toReturn;
}
Adriano Carvalho
Curtir tópico
+ 0Posts
09/10/2010
Davi Costa
Cria uma outra classe que tenha como atributos as duas entiades que vc quer:
public class TanqueRemanejo{
private Tanque tanque;
private Remanejo remanejo;
//getters e setters
}
Na hora de popula o que chega no banco tu joga o valor para esse novo objeto. E a tabela agora vai ser
desse novo objeto também.
Espero ter ajudado
Att Davi
Gostei + 0
13/10/2010
Dyego Carmo
Valeu Z!
Gostei + 0
13/10/2010
Daniel Thomaz
Gostei + 0
13/10/2010
Julio Cesar.
Gostei + 0
14/10/2010
Adriano Carvalho
/*==============================================================*/ /* Table: remanejo */ /*==============================================================*/ create table remanejo ( id_remanejo SERIAL not null, remj_data DATE not null, id_origem int4 not null, id_destino int4 not null, remj_qtd INT4 null default 0, remj_peso decimal(15,3) null default 0.00, sql_deleted char(1) null default 'F' constraint CKC_SQL_DELETED_REMANEJO check (sql_deleted is null or (sql_deleted = upper(sql_deleted))) ); alter table remanejo add constraint PK_REMANEJO primary key (id_remanejo); /*==============================================================*/ /* Index: indx_id_remanejo */ /*==============================================================*/ create unique index indx_id_remanejo on remanejo ( id_remanejo ); /*==============================================================*/ /* Index: indx_id_origem */ /*==============================================================*/ create index indx_id_origem on remanejo ( id_origem ); /*==============================================================*/ /* Index: indx_id_destino */ /*==============================================================*/ create index indx_id_destino on remanejo ( id_destino ); alter table remanejo add constraint fk_id_tang_orig_remaj foreign key (id_origem) references tanques (id_tanque) on delete restrict on update restrict; alter table remanejo add constraint fk_id_tanq_dest_remaj foreign key (id_destino) references tanques (id_tanque) on delete restrict on update restrict;
como vc pode ve eu tenho dois campos nessa tabela q fazer referencia ai mesmo campo de outra.
entao quero preencher aquela tela acima sedo q mostre o nome do tanque de origem e destino.
senda q os campos id_origem e id_destino fazem referencia ao campo id_tanque da tabela tanques.
entao use o seguinte no netbeans.
public List<Remanejo> getManejo() throws SQLException {
String sql = "select remanejo.id_remanejo,remanejo.remj_data,remanejo.id_origem,tanques.tanq_descricao,"
+ "remanejo.id_destino,remanejo.remj_qtd from public.remanejo inner join public.tanques on tanques.id_tanque = remanejo.id_origem";
ResultSet rs = executeQuery(sql);
List<Remanejo> toReturn = new LinkedList<Remanejo>();
while (rs.next()) {
toReturn.add(populateManejo(rs));
}
return toReturn;
}
mais isso so me traz o nome do tanque de origem como faco para trazer o nome do tanque de destino tbm?
Gostei + 0
14/10/2010
Davi Costa
Mas agora ficou um pouco mais claro seu problema, que é no select.
Adriano dá uma pesquisada em left join e outer join, que essa pode ser sua solução.
Att Davi
Gostei + 0
15/10/2010
Adriano Carvalho
Gostei + 0
19/10/2010
Dyego Carmo
Gostei + 0
19/10/2010
Adriano Carvalho
Gostei + 0
19/10/2010
Davi Costa
Utiliza JPA em vez de JDBC, vai facilitar e muito sua vida.
Att Davi
Gostei + 0
19/10/2010
Adriano Carvalho
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)