Boa tarde pessoal,
Pessoal estou com o seguinte método que recebe uma ResultSet por parâmetro e apartir dela ele vai Criando vários objetos “Titulares”…blz…
Agora eu preciso que a cada Objeto criado ele adicione o mesmo numa List…
public void titulares(ResultSet rs) throws SQLException{
Titular titular = null;
while(rs.next()){
if(rs.getString("TIPO").equals("TITULAR")){
System.out.println("\n------------------------------------------------------------------------------------------");
System.out.println("...:: Estamos na linha: " + rs.getRow() + " Do ResultSet ::...");
System.out.println("\n...:: Titular encontrado ::... : " + rs.getString("NOME"));
titular = new Titular();
titular.setNome(rs.getString("NOME"));
}else{
titular.addDendentes(rs.getString("NOME"));
System.out.println("\n...:: Dependente encontrado: " + rs.getString("NOME") + "::...");
}
}
a ResultSet que ele recebe esta assim:
Identificação NOME TIPO
1 ADENI P BERTO TITULAR
2 JOSENILDA DOS S S BERTO ESPOSA
3 AMANDA SIMOES BERTO FILHA
4 ALDO AFONSO DA SILVA TITULAR
5 INES ROSA R DA SILVA ESPOSA
…
701 JOAO FERREIRA FILHO
neste caso como eu poderei fazer isto?
abraço!!!
[quote=johnny.ibadi@gmail.com]Boa tarde pessoal,
Pessoal estou com o seguinte método que recebe uma ResultSet por parâmetro e apartir dela ele vai Criando vários objetos “Titulares”…blz…
Agora eu preciso que a cada Objeto criado ele adicione o mesmo numa List…
public void titulares(ResultSet rs) throws SQLException{
Titular titular = null;
while(rs.next()){
if(rs.getString("TIPO").equals("TITULAR")){
System.out.println("\n------------------------------------------------------------------------------------------");
System.out.println("...:: Estamos na linha: " + rs.getRow() + " Do ResultSet ::...");
System.out.println("\n...:: Titular encontrado ::... : " + rs.getString("NOME"));
titular = new Titular();
titular.setNome(rs.getString("NOME"));
}else{
titular.addDendentes(rs.getString("NOME"));
System.out.println("\n...:: Dependente encontrado: " + rs.getString("NOME") + "::...");
}
}
a ResultSet que ele recebe esta assim:
Identificação NOME TIPO
1 ADENI P BERTO TITULAR
2 JOSENILDA DOS S S BERTO ESPOSA
3 AMANDA SIMOES BERTO FILHA
4 ALDO AFONSO DA SILVA TITULAR
5 INES ROSA R DA SILVA ESPOSA
…
701 JOAO FERREIRA FILHO
neste caso como eu poderei fazer isto?
abraço!!![/quote]
public void titulares(ResultSet rs) throws SQLException{
Titular titular = null;
List<Titular> lista = new ArrayList<Titular>();
while(rs.next()){
if(rs.getString("TIPO").equals("TITULAR")){
System.out.println("\n------------------------------------------------------------------------------------------");
System.out.println("...:: Estamos na linha: " + rs.getRow() + " Do ResultSet ::...");
System.out.println("\n...:: Titular encontrado ::... : " + rs.getString("NOME"));
titular = new Titular();
titular.setNome(rs.getString("NOME"));
}else{
titular.addDendentes(rs.getString("NOME"));
System.out.println("\n...:: Dependente encontrado: " + rs.getString("NOME") + "::...");
}
lista.add(titular);
}
Fala Diego tudo bem??
Tipo o problema é que um objeto TITULAR pode ter até 5 dependentes… e da forma que vc sugeriu ele só preencheria 1 dependente e ja adicionaria o objeto(inclompleto) na List… entendeu?
Muito Obrigado…
Vamos la Galera me ajudem!!!
Você está utilizando JDBC certo?
Como esta estruturado seu banco?
Voce tem uma tabela so para dependentes?
não…
eu tenho uma tabela “LISTA 1” que tem duas colunas (1° Nome - 2° Tipo)…
na primeira tem todos os nomes (Funcuinarios e os dependentes) na ordem… o que diferencia eles é a coluna TIPO, que tem a informação (titular, esposa, filho…)
eu preciso separar e salvar da forma correta em uma outra tabela…
a query retorna assim:
Identificação____NOME_______________________TIPO
1_____________ADENI P BERTO_______________TITULAR
2_____________JOSENILDA DOS S S BE________ ESPOSA
3_____________AMANDA SIMOES BERTO________FILHA
4_____________ALDO AFONSO DA SILVA________TITULAR
5_____________INES ROSA R DA SILVA_________ESPOSA
…
701____________JOAO FERREIRA_________________FILHO
Sem os _
Brother está sinistro esta sua situação…
public void titulares(ResultSet rs) throws SQLException{
Titular titular = null;
List<Titular> lista = new ArrayList<Titular>();
while(rs.next()){
if(rs.getString("TIPO").equals("TITULAR")){
if(titular != null && !"".equals(titular.getNome())){
lista.add(titular);
}
titular = new Titular();
System.out.println("\n------------------------------------------------------------------------------------------");
System.out.println("...:: Estamos na linha: " + rs.getRow() + " Do ResultSet ::...");
System.out.println("\n...:: Titular encontrado ::... : " + rs.getString("NOME"));
titular.setNome(rs.getString("NOME"));
}else{
titular.addDendentes(rs.getString("NOME"));
System.out.println("\n...:: Dependente encontrado: " + rs.getString("NOME") + "::...");
}
}
lista.add(titular);
}
Fiz concluindo que todos que estão abaixo do titular são dependentes do mesmo!
johnny.ibadi@gmail.com
e como vc identifica quem é dependente de quem?
acho q seria melhor se vc tivesse 2 tabelas uma de titulares e outra de dependentes, ai vc faz o mapeamento 1 x N.
posta seu objeto modelo titular.
att,
A outra tabela esta assim:
Nome__________DEP1________DEP2_…_DEP5
respondendo a pergunta “Quem é dependente de quem?”
ta na ordem… ex:
João é titular de todos os dependentes que estiverem abaixo dele… até econtrar outro titular, este ira ser titular de todos os que estiverem abaixo dele até encontrar o outro titular…
O problema é que eu recebi este arquivo assim do RH da Empresa eles não conseguem gerar de outra forma…
[quote=johnny.ibadi@gmail.com]respondendo a pergunta “Quem é dependente de quem?”
ta na ordem… ex:
João é titular de todos os dependentes que estiverem abaixo dele… até econtrar outro titular, este ira ser titular de todos os que estiverem abaixo dele até encontrar o outro titular…
O problema é que eu recebi este arquivo assim do RH da Empresa eles não conseguem gerar de outra forma…[/quote]
Tenta com este exemplo…
public void titulares(ResultSet rs) throws SQLException{
Titular titular = null;
List<Titular> lista = new ArrayList<Titular>();
while(rs.next()){
if(rs.getString("TIPO").equals("TITULAR")){
if(titular != null && !"".equals(titular.getNome())){
lista.add(titular);
}
titular = new Titular();
System.out.println("\n------------------------------------------------------------------------------------------");
System.out.println("...:: Estamos na linha: " + rs.getRow() + " Do ResultSet ::...");
System.out.println("\n...:: Titular encontrado ::... : " + rs.getString("NOME"));
titular.setNome(rs.getString("NOME"));
}else{
titular.addDendentes(rs.getString("NOME"));
System.out.println("\n...:: Dependente encontrado: " + rs.getString("NOME") + "::...");
}
}
lista.add(titular);
[quote=diego.sas][quote=johnny.ibadi@gmail.com]respondendo a pergunta “Quem é dependente de quem?”
ta na ordem… ex:
João é titular de todos os dependentes que estiverem abaixo dele… até econtrar outro titular, este ira ser titular de todos os que estiverem abaixo dele até encontrar o outro titular…
O problema é que eu recebi este arquivo assim do RH da Empresa eles não conseguem gerar de outra forma…[/quote]
Tenta com este exemplo…
public void titulares(ResultSet rs) throws SQLException{
Titular titular = null;
List<Titular> lista = new ArrayList<Titular>();
while(rs.next()){
if(rs.getString("TIPO").equals("TITULAR")){
if(titular != null && !"".equals(titular.getNome())){
lista.add(titular);
}
titular = new Titular();
System.out.println("\n------------------------------------------------------------------------------------------");
System.out.println("...:: Estamos na linha: " + rs.getRow() + " Do ResultSet ::...");
System.out.println("\n...:: Titular encontrado ::... : " + rs.getString("NOME"));
titular.setNome(rs.getString("NOME"));
}else{
titular.addDendentes(rs.getString("NOME"));
System.out.println("\n...:: Dependente encontrado: " + rs.getString("NOME") + "::...");
}
}
lista.add(titular);
[/quote]
ME PARECE QUE DESTA FORMA ELE SÓ ADD 1 OBJETO NA LIST ENTENDEU?
PQ OS OBJETOS ESTÃO SENDO CRIADO DENTRO DO WHILE(RS.NEXT()){…}
MAS VOU TESTAR…
johnny.ibadi@gmail.com
vc não pode criar 2 tabelas(titular e dependentes) e inserir o conteúdo desse arquivo nas tabelas com os devidos relacionamentos?
quanto ao código acho q eu faria assim:
[code]public void titulares(ResultSet rs) throws SQLException{
Titular titular;
List<Titular> lista = new ArrayList<Titular>();
int i = 0; //gambi total 1
while(rs.next()){
if(rs.getString("TIPO").equals("TITULAR")){
//gambi total 2
if(i>=1){
lista.add(titular);
}
titular = new Titular();
titular.setNome(rs.getString("NOME"));
i++;
}else{
titular.addDependentes(rs.getString("NOME"));
}
}
[/code]
att,
Testa e depois diz se funfou…
é isto mesmo o que falei…
segue abaixo os logs…
…:: Titular encontrado ::… : ALEX VIEIRA DA SILVA
…:: Dependente encontrado: JOZELMA VIEIRA DA SILVA::…
…:: Estamos na linha: 698 Do ResultSet ::…
…:: Titular encontrado ::… : DORCINA LINO DE SOUZA
…:: Estamos na linha: 699 Do ResultSet ::…
…:: Titular encontrado ::… : JANDIRA DE J C RODRIGUES
…:: Dependente encontrado: ALINE C RODRIGUES::…
…:: Estamos na linha: 701 Do ResultSet ::…
…:: Titular encontrado ::… : FRANCISCO ARIMATEIA DA COSTA
Tamanho do List titulares: 1
[quote=pedruhenrik]johnny.ibadi@gmail.com
vc não pode criar 2 tabelas(titular e dependentes) e inserir o conteúdo desse arquivo nas tabelas com os devidos relacionamentos?
quanto ao código acho q eu faria assim:
[code]public void titulares(ResultSet rs) throws SQLException{
Titular titular;
List<Titular> lista = new ArrayList<Titular>();
while(rs.next()){
if(rs.getString("TIPO").equals("TITULAR")){
titular = new Titular();
titular.setNome(rs.getString("NOME"));
}else{
titular.addDependentes(rs.getString("NOME"));
}
}
lista.add(titular); [/code]
att,[/quote]
Desta forma sim, seria adicionado apenas um titular na tabela.
Eu estou tentando assim…
public List titulares(ResultSet rs) throws SQLException{
Titular titular = null;
List<Titular> titulares = new ArrayList<Titular>();
while(rs.next()){
if(rs.getString("TIPO").equals("TITULAR")){
System.out.println("\n------------------------------------------------------------------------------------------");
System.out.println("...:: Estamos na linha: " + rs.getRow() + " Do ResultSet ::...");
System.out.println("\n...:: Titular encontrado ::... : " + rs.getString("NOME"));
titular = new Titular();
titular.setNome(rs.getString("NOME"));
titulares.add(titular);// adiciona o objeto na list
}else{ //aqui ele atualiza os dependentes do objeto
titular.addDendentes(rs.getString("NOME"));
System.out.println("\n...:: Dependente encontrado: " + rs.getString("NOME") + "::...");
titulares. //tem alguma forma de eu inserir este dependente no list ?
}
}
return titulares;
}
Conseguiram entender??