Entendi...vou ver se consigo aqui e qualquer coisa eu aviso.

Qualquer dúvida estou a disposição.

*Robinho*
*Analista/Programador de Sistemas*
*Skype: robinhocne*
*"A fé em Deus nos faz crer no incrível, ver o invisível e realizar o
impossível."*


Em 19 de dezembro de 2013 18:04, Helio Antonio Francisco Silva <
helio.afsi...@gmail.com> escreveu:

> cara insert em lot e
> INSERT INTO tabela(campos1, campos2, campos3)
> values(valor1, valor2, valo3),
>
> values(valor1, valor2, valo3),
> values(valor1, valor2, valo3),
> values(valor1, valor2, valo3),
> values(valor1, valor2, valo3),
> values(valor1, valor2, valo3)
>
> Entendeu... voce da so uma vez INSERT INTO tabela(campos1, campos2,
> campos3) e depois da N vezes
> values(valor1, valor2, valo3) dessa forma ele insere um bloco de codigo de
> uma so vez. ao invez de 1 por 1, e MUITO mais rapido tenha certeza.
>
>
> 2013/12/19 Robinho de Morais <robinhodemor...@gmail.com>
>
>> Esse é meu metodo de insert...
>>
>>  public int insert(T objectVO, String id )
>> {
>>  //Início do SQL Insert
>> String sql = String.format("INSERT INTO %s (",tableName);
>>
>> // última chave primária criada
>>  // será o retorno do método insert
>> int lastInsertId = 0;
>>
>> //Lista de campos do VO.
>>  // Lembre que os campos são dinâmicos
>> //  Cada campo no VO é um campo na tabela
>>  ArrayList<String> fields = new ArrayList<String>();
>>
>>  //Percorro todas as propriedades da classe VO. Cada propriedade
>>  // possui um correspondente no campo da tabela
>> for (Field classVOField : classVO.getDeclaredFields() ) {
>>  fields.add(classVOField.getName());
>>  }
>>
>> //Agora uso a lista de campos para preencher o sql
>>  for (int i = 0; i < fields.size(); i++) {
>>   if (!(fields.get(i).equals(id))) {
>>
>>  sql += fields.get(i);
>>      if (i != fields.size()-2)//-2 para tirar o ID
>>     sql += ",";
>> }
>>
>>  }
>>
>>
>> sql += ") VALUES (";
>>
>> for (int i = 0; i < fields.size(); i++) {
>>
>> //if (fields.get(i) == "id")
>>  //continue;
>>  if (!(fields.get(i).equals(id))) {
>>  try {
>> //Obtenho a definição do campo
>>  Field fieldDef = classVO.getField(fields.get(i));
>>
>>  //uso a definição do campo para obter
>> // o valor que veio do Flex.
>>  sql += String.format("'%s'",fieldDef.get(objectVO));
>>
>> //nao poe a vírugla no último item
>>  if (i != fields.size()-2)
>> sql += ",";
>>
>> } catch (IllegalArgumentException e) {
>>  e.printStackTrace();
>> } catch (IllegalAccessException e) {
>>  e.printStackTrace();
>> } catch (SecurityException e) {
>>  e.printStackTrace();
>> } catch (NoSuchFieldException e) {
>>  e.printStackTrace();
>> }
>>  }
>>  }
>>
>>
>> sql += ")";
>>   JOptionPane.showMessageDialog(null, "Insert " + sql);
>>
>> //Agora executamos o SQL
>>  try {
>>
>>  int rows = this.stm.executeUpdate(sql,Statement.RETURN_GENERATED_KEYS);
>>
>>  ResultSet resultSet = this.stm.getGeneratedKeys();
>>  // this.stm.execute(sql);
>>  if ( resultSet != null && resultSet.next() )
>> {
>>  lastInsertId = resultSet.getInt(1);
>> }
>>
>> } catch (SQLException e) {
>>  e.printStackTrace();
>> }
>>
>>  //JOptionPane.showMessageDialog(null, "Insert " + sql + " " +
>> lastInsertId);
>>  return lastInsertId;
>>
>>  }
>>
>>
>> como eu poderia colocar essas informações em lote e dar um insert em
>> lote.....?
>>
>> Qualquer dúvida estou a disposição.
>>
>>  *Robinho*
>> *Analista/Programador de Sistemas*
>> *Skype: robinhocne*
>> *"A fé em Deus nos faz crer no incrível, ver o invisível e realizar o
>> impossível."*
>>
>>
>> Em 19 de dezembro de 2013 17:03, Helio Antonio Francisco Silva <
>> helio.afsi...@gmail.com> escreveu:
>>
>> 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.
>>>
>>
>>  --
>> --
>> 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.
>

-- 
-- 
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.

Responder a