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.

Responder a