Recuperar registro automaticamente ao inserí-lo [resolvido]  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
jehjeh
Entusiasta Java

Membro desde: 13/02/2004 10:50:30
Mensagens: 17
Offline

Pessoal,

Eu gostaria de recuperar um registro após inserí-lo na base (SQL Server).

O problema é que eu não posso usar o "getMax", pois esse banco é acessado por vários usuários simultâneamente. Então, nada garante que o último registro é o que eu acabei de inserir.

A API do Java fornece suporte a isso ? Alguma sugestão ?

This message was edited 1 time. Last update was at 14/06/2005 10:41:09

[Email] [MSN]
pauloperes
JavaEvangelist
[Avatar]

Membro desde: 01/03/2005 11:45:20
Mensagens: 414
Offline

Olá,

Não entendi muito bem a sua pergunta, mas tudo bem, uma sugestão não sei se é grotesca, mas la vai, se vc fez a inserção através de um objeto, por exemplo: dao.insert(objeto), é só pegar o objeto de volta sem fazer nenhuma consulta.

Valeu,
Paulo

Paulo
[Email] [MSN]
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

jehjeh wrote:Pessoal,

Eu gostaria de recuperar um registro após inserí-lo na base (SQL Server).

O problema é que eu não posso usar o "getMax", pois esse banco é acessado por vários usuários simultâneamente. Então, nada garante que o último registro é o que eu acabei de inserir.

A API do Java fornece suporte a isso ? Alguma sugestão ?


Vixe, SQL server é triste...

Você pode usar isso:

http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html#getGeneratedKeys()

Pra pegar um result set com as chaves que o banco criou pra fazer a insersão na tabela.

Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
jehjeh
Entusiasta Java

Membro desde: 13/02/2004 10:50:30
Mensagens: 17
Offline

Eu já tinha tentado utilizar o getGeneratedKeys(), mas me deu o seguinte erro:


O problema é que essa tabela tem um campo que é autoincrement.

E os valores que eu conheço para fazer uma pesquisa, podem retornar não apenas um resultado.
[Email] [MSN]
jehjeh
Entusiasta Java

Membro desde: 13/02/2004 10:50:30
Mensagens: 17
Offline

Optei por utilizar uma solução alternativa ...

De qualquer forma, valeu pelas dicas. Abraço.
[Email] [MSN]
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

jehjeh wrote:Eu já tinha tentado utilizar o getGeneratedKeys(), mas me deu o seguinte erro:


O problema é que essa tabela tem um campo que é autoincrement.

E os valores que eu conheço para fazer uma pesquisa, podem retornar não apenas um resultado.


O problema não é exatamente a tabela, é o Driver do SQL server que não suporta essa operação (e mais um monte de coisas, ô driver bugado...). Você tá usando o jTDS ou o da Micro$oft?

Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
carneiro
JavaEvangelist
[Avatar]

Membro desde: 07/04/2005 11:37:42
Mensagens: 328
Offline

Maurício,

Qual deles é o melhor?

Davi Luan Carneiro
Desenvolvedor JEE
[Email] [MSN]
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

o jTDS:

http://jtds.sourceforge.net/

Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team