Cara eu posso ta falando besteira, mas eu faria de uma forma BEMMM diferente.
Primeiro, eu arrumaria o seu codigo: for(var a:int = 0; a < telaLiberadas.length; a++){ usuTela.cd_usuario = telaLiberadas[a].cd_usuario; usuTela.cd_empresa = telaLiberadas[a].cd_empresa; usuTela.cd_tela = telaLiberadas[a].cd_tela; usuTela.in_novo = telaLiberadas[a].in_novo; usuTela.in_pesquisar = telaLiberadas[a].in_pesquisar; usuTela.in_remover = telaLiberadas[a].in_remover; usuTela.in_salvar = telaLiberadas[a].in_salvar; usuTela.dt_cadastro = telaLiberadas[a].dt_cadastro; usuTela.hr_cadastro = telaLiberadas[a].hr_cadastro; usuTela.cd_usucad = telaLiberadas[a].cd_usucad; usuTela.cd_usutela = telaLiberadas[a].cd_usutela; if (telaLiberadas[a].cd_usutela != 0 ){ dsUsuTelas.update(usuTela,"cd_usutela"); } else { //pesquisa se a tela foi inclusa no BD para atualização pesquisaUsuTelasID(telaLiberadas[a].cd_tela,telaLiberadas[a].cd_empresa,telaLiberadas[a].cd_usuario); if (vcd_usutela != null) { usuTela.cd_usutela = parseInt(vcd_usutela); dsUsuTelas.update(usuTela,"cd_usutela"); } else { dsUsuTelas.insert(usuTela,"cd_usutela"); } nao tem sentido e colocar o objeto varias vezes, sendo que todos sao a mesma coisa e somente a chamada pra inerir ou update e diferente. Segundo, EU NUNCA a cada insert eu enviaria para o servidor, eu faria uma coletania de objectos e ai sim enviar para o servidor e la dentro eu faria o loop e inseriria varios, ate por que da pra fazer insert em lot e nao 1 por 1, a diferença e gritante. to passando por uns problemas iguais, qualquer coisa me da um toque que eu te ajudo. 2013/12/19 Robinho de Morais <robinhodemor...@gmail.com> > Pessoal, já tentei de várias maneiras, mas não consegui resolver o > problema, vamos lá... > > Tenho em um datagrid as seguintes informações > > <https://lh5.googleusercontent.com/-GMPEaUxu0LA/UrMxpzO6KEI/AAAAAAAAEPs/WOEMIL1duvw/s1600/Sem+t%C3%ADtulo.png> > > veja que eu tenho a tela 1-cadUsuarios na empresa 1 com o cd_usutela, esse > cd_usutela é a chave da tabela de liberação de telas, então quer dizer que > essa já está gravada no banco.... > ai tenho a tela 3-cadUsuEmpresas na empresa 2 que acabei de incluir no > datagrid... > > Para salvar eu criei um loop no arraycollection do datagrid... > > for(var a:int = 0; a < telaLiberadas.length; a++){ > > if (telaLiberadas[a].cd_usutela != 0 ){ > usuTela.cd_usuario = telaLiberadas[a].cd_usuario; > usuTela.cd_empresa = telaLiberadas[a].cd_empresa; > usuTela.cd_tela = telaLiberadas[a].cd_tela; > usuTela.in_novo = telaLiberadas[a].in_novo; > usuTela.in_pesquisar = telaLiberadas[a].in_pesquisar; > usuTela.in_remover = telaLiberadas[a].in_remover; > usuTela.in_salvar = telaLiberadas[a].in_salvar; > usuTela.dt_cadastro = telaLiberadas[a].dt_cadastro; > usuTela.hr_cadastro = telaLiberadas[a].hr_cadastro; > usuTela.cd_usucad = telaLiberadas[a].cd_usucad; > usuTela.cd_usutela = telaLiberadas[a].cd_usutela; > dsUsuTelas.update(usuTela,"cd_usutela"); > } else { > usuTela.cd_usuario = telaLiberadas[a].cd_usuario; > usuTela.cd_empresa = telaLiberadas[a].cd_empresa; > usuTela.cd_tela = telaLiberadas[a].cd_tela; > usuTela.in_novo = telaLiberadas[a].in_novo; > usuTela.in_pesquisar = telaLiberadas[a].in_pesquisar; > usuTela.in_remover = telaLiberadas[a].in_remover; > usuTela.in_salvar = telaLiberadas[a].in_salvar; > usuTela.dt_cadastro = telaLiberadas[a].dt_cadastro; > usuTela.hr_cadastro = telaLiberadas[a].hr_cadastro; > usuTela.cd_usucad = telaLiberadas[a].cd_usucad; > //pesquisa se a tela foi inclusa no BD para atualização > > pesquisaUsuTelasID(telaLiberadas[a].cd_tela,telaLiberadas[a].cd_empresa,telaLiberadas[a].cd_usuario); > if (vcd_usutela != null) { > usuTela.cd_usutela = parseInt(vcd_usutela); > dsUsuTelas.update(usuTela,"cd_usutela"); > } else { > dsUsuTelas.insert(usuTela,"cd_usutela"); > } > > o usuTela é o meu VO, então no loop eu incluo as informações no VO para > fazer o insert/update através da minha função insert/update..... > > Quando rodo esse loop...ele bagunça o registro...veja abaixo nas imagens... > > > <https://lh6.googleusercontent.com/-1UqyX6RRDyg/UrMz-0ivFtI/AAAAAAAAEP4/0uFOzRUZtKI/s1600/up.png> > > Para o primeiro registro, como está salvo no banco iria fazer uma > atualização, mas veja que a empresa é 1 e tela 1 do usutela 103, mas ele > está pegando do ultimo registro... > > > e > > > > <https://lh5.googleusercontent.com/-5WpbR9Dy4VI/UrM0VVTQ4kI/AAAAAAAAEQA/cSl27BXnQmk/s1600/in.png> > > > No insert ele inclui os registros certo...conforme a sua linha do banco.... > > > To 2 semanas tentando de várias maneiras, mas não consegui...alguém pode > me ajudar....? > > > > > > -- > -- > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com > Para sair da lista, envie um email em branco para > flexdev-unsubscr...@googlegroups.com > Mais opções estão disponíveis em http://groups.google.com/group/flexdev > --- > Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" > dos Grupos do Google. > Para cancelar a inscrição neste grupo e parar de receber seus e-mails, > envie um e-mail para flexdev+unsubscr...@googlegroups.com. > Para obter mais opções, acesse https://groups.google.com/groups/opt_out. > -- *Hélio Antonio Francisco Silva* Desenvolvedor web Certificado Flash developer Certificado Flash Design Certificado web developer Consultor Microsiga / Totvs Desenvolvedor ADVPL / ASP Analista de sistemas e ERP Sênior. -- -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev --- Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" dos Grupos do Google. Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para flexdev+unsubscr...@googlegroups.com. Para obter mais opções, acesse https://groups.google.com/groups/opt_out.