| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/10/2006 17:01:14
|
dsilva82PJ
Thread.start()
![[Avatar]](/images/avatar/0)
Membro desde: 23/08/2006 00:00:00
Mensagens: 27
Offline
|
Boa tarde,
Estou precisando de uma ajuda! E o seguinte tenho duas tabelas Contato[Nome,Sobrenome,Telefone,Email] e Endereco[idContato,Logradouro,Cidade,Estado]. Tenho um formulario em java como todos esses campos e preciso que quando o usuario click em salvar ele insira nas duas tabelas simultaneamente. Minha duvida e a seguinte como eu pego o id que esta sendo inserido na tabela contato naquele instante ja que meu banco e auto-incremento para este campo.
Qual o melhor jeito de fazer isso?[/url]
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/10/2006 19:45:11
|
ADEMILTONPJ
JavaTeenager
![[Avatar]](/images/avatar/1)
Membro desde: 25/01/2004 00:00:00
Mensagens: 191
Offline
|
Colega, na verdade esse "simultaneamente" é só aparente, na realidade o que vai ter que acontecer nesse modelo que você tem aí é primeiro inserir o contato, depois inserir o endereço. Se sua tabela autoincrementa o campo id, logo após confirmar a primeira inserção você pode dar um...
...o que te retornará o id do último contato inserido, que você pode então passar para o insert na tabela endereço. Perceba essa sequência: 1 - insere contato; 2 - lê contato para obter o último inserido; 3 - usa o contato lido para inserir endereço.
Pode também analizar o seguinte: nesse teu modelo um contato pode ter mais de um endereço? Se não, então as duas tabelas poderiam ser uma só, o que acabaria com o problema por si só...
|
http:// |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/10/2006 21:06:57
|
jaireltonPJ
GUJ Expert
![[Avatar]](/images/avatar/1)
Membro desde: 06/06/2005 00:00:00
Mensagens: 3276
Offline
|
Insira o contato primeiro, use o metodo getGeneratedKeys() para pegar o id gerado e insira o endereço usando esse id.
|
http://jairelton.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2006 00:41:54
|
dsilva82PJ
Thread.start()
![[Avatar]](/images/avatar/0)
Membro desde: 23/08/2006 00:00:00
Mensagens: 27
Offline
|
Ola boa noite, estou tentando fazer utilizando o getGeneratedKeys(), mas nao estou conseguindo, gostaria de saber se vc na poderia me mostrar um exemplo assim poderia corrigir meus erros, segue meu fonte cheio de erros:
instrucao = conexao.createStatement();
instrucao.executeUpdate(qry,Statement.RETURN_GENERATED_KEYS);
rs = instrucao.getGeneratedKeys();
System.out.println(rs.getInt(0));
System.out.println(instrucao.getGeneratedKeys());
instrucao2 = conexao.createStatement();
instrucao2.executeUpdate("insert into endereco(Contatos_idContatos,Logradouro,Complemento,TipoLogradouro,Bairro,Cep,Cidade,UF) values ("+rs.getInt(0)+",'"+jTFCCLogradouroContato.getText()+"','"+jTFCCComplemento.getText()+"','"+jCBTipoLogradouroContato.getSelectedItem()+"','"+jTFCCBairroContato.getText()+"','"+jTFCCCep.getText()+"','"+jTFCCCidadeContato.getText()+"','"+jCBCCuf.getSelectedItem()+"')");
conexao.close();
instrucao.close();
instrucao2.close();
|
|
|
 |
|
|
|
|