PcSoft 0 Denunciar post Postado Setembro 23, 2009 Ola pessoal preciso de uma mao no seguint estou fazend um cadastro de cidades em que vou necescitar em uma so cidade cadastrar varios ceps e seus setores... minha ideia e de a cada cep q o usuario digitar e clicar em adicionar ele crie um array (ex para primeiro cep Objeto[1], segundo Objeto[2]....) para quand for mandar gravar td no banco ele ja grave alem da cidade todos os seus Ceps de uma so vez... ate o momento usei a segunte logica... public class Bean_Cep { int id_Cidade,Cep; String Setor; ( aki metodos gets ,sets e construtor ) } estou instanceando- o asim Bean_Cep Bean_Cep = new Bean_Cep(0, 0, 0, ""); e o array assim Bean_Cep[] Vet_Cep = new Bean_Cep[50]; estou preenchenco o array nomalmente seguindo a logica a seguint logica..( "valor" significa o valor o qual estou inserindo para o campo corespondente) Vet_Cep[num].setId_Cidade(valor); Vet_Cep[num].setId_Cep(valor); Vet_Cep[num].setId_Setor(valor); a cada dado que eu insiro o num acrescenta 1 e para ler o mesmo utilizo a seguint funcao for ( x=1 ; x>num ; x++){ // aki dentro uma funcao para gravar no banco pegando os valores da seguint forma Vet_Cep[x].getId_Cidade; Vet_Cep[x].getId_Cep; Vet_Cep[x].getId_Setor; }porem nao sei por qual motivo sempre q grava no banco ele sempre pega os dados inseridos pela ultima vez no array o.Otem um dia q to pelejando com isso alguem sabe me dizer o q tem de errado ai ? o.O desde ja obrigado e t+ Compartilhar este post Link para o post Compartilhar em outros sites
Vergil 15 Denunciar post Postado Setembro 24, 2009 Pelo que li, acho que o seu problema é basicamente erro de lógica. Provavelmente você está inserindo valores na mesma posição do vetor, sobrepondo os dados inseridos anteriormente; ou lendo de forma equivocada. for ( x=1 ; x>num ; x++){Lembre-se que a primeira posição de um vetor é o 0 (zero). A maneira correta de fazer o laço seria: for(int x = 0; x < vetor.length; x++) ... // ou for(Bean_Cep cep : Vetor) ... Minha sugestão é que ao invés de utilizar vetores, use coleções. Um ArrayList seria muito útil pra você. Compartilhar este post Link para o post Compartilhar em outros sites
PcSoft 0 Denunciar post Postado Setembro 24, 2009 Pelo que li, acho que o seu problema é basicamente erro de lógica. Provavelmente você está inserindo valores na mesma posição do vetor, sobrepondo os dados inseridos anteriormente; ou lendo de forma equivocada. for ( x=1 ; x>num ; x++){Lembre-se que a primeira posição de um vetor é o 0 (zero). A maneira correta de fazer o laço seria: for(int x = 0; x < vetor.length; x++) ... // ou for(Bean_Cep cep : Vetor) ... Minha sugestão é que ao invés de utilizar vetores, use coleções. Um ArrayList seria muito útil pra você. certo mas você n sabe como eu deveria entao utilizar dessa forma ? objeto[1] objeto[2] objeto[3] para dpois quando precisar dos valores dos mesmos eu so utilizar o seguint objeto[1].get_Atribulto1 objeto[1].get_Atribulto2 objeto[1].get_Atribulto3... objeto[2].get_Atribulto1 objeto[2].get_Atribulto2 objeto[2].get_Atribulto3... nao sei por qual motivo eu insiro os dados nele mas quand eu busco ele somente me trais o ultimo em todas as posicoes =/ hellllpp =/ Compartilhar este post Link para o post Compartilhar em outros sites
Vergil 15 Denunciar post Postado Setembro 24, 2009 Posta o código completo, assim ficará mais fácil pra ajudá-lo. PS: Utiliza a marcação code para inserir códigos. Compartilhar este post Link para o post Compartilhar em outros sites