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 <[email protected]>
> 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 [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> 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 [email protected].
> 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 [email protected]
Para sair da lista, envie um email em branco para
[email protected]
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 [email protected].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.