Oi Carlos,

        nunca vi nada parecido com o retorno do ultimo registro inserido
no banco. Logo, essa alternativa e' furada.
        Utilizando Access fica dificil de trabalhar porque ele nao possui
o conceito de transacao e isolamento. Uma alternativa seria voce fazer a
insercao e logo depois uma consulta ao "max(ChavePrimaria)" para retornar
o valor de chave inserido, tudo isso dentro de uma transacao. Em bancos
de dados maiores como Oracle, Informix isso funcionaria no seu caso, mas
com multiplos usuarios acessando o Access acredito que nao sirva. Mas de
qualquer forma, eis um pequeno exemplo do codigo necessario:

Connection con = ...
Statement st = con.createStatement();
ResultSet rs = null;

con.setAutoCommit(false);
st.executeUpdate("insert ...

rs = st.executeQuery("select max(cp) from ...
int codigo = -1;
if(rs.next())
    codigo = rs.getInt(1);
rs.close();
con.commit();
con.setAutoCommit(true);
st.close();

        Espero ter ajudado em alguma coisa!

Abracos

Bruno.

On Wed, 15 Dec 1999, Carlos Campos wrote:

> Prezados Javaneses,
> 
> Criei um servlet que insere um registro num Banco de Dados MS ACCESS
> conforme c�digo abaixo. Gostaria de, ap�s inserir o registro na tabela,
> redirecionar o fluxo para um outro servlet passando como argumento a
> Chave Prim�ria.
> 
> Ocorre que, neste caso espec�fico, a chave prim�ria � um campo de
> AUTO-NUMERA��O, onde eu n�o tenho conhecimento pr�vio do seu conte�do
> at� a inser��o do registro.
> 
> Pergunta(s):
> 
> Como fazer, qual comando utilizar, para recuperar o campo criado pelo
> Statement???
> 
> Terei que fazer um novo Select num Resultset??? E como garantir a
> recupera��o do registro correto tendo em vista que o ODBC possui um
> delay na atualiza��o do Banco de Dados e se trata de uma INTRANET???
> 
> Existe algum recurso que me permita recuperar o �ltimo registro gravado
> logo ap�s o INSERT???
> 
> Agrade�o a todos,
> 
> String query = new String();
> if(ope.equalsIgnoreCase("I")) {
> query =  "insert into Bei
> Bei_Descricao,Bei_Responsavel,Bei_Local,Bei_IP,Bei_Ponto,Bei_Codpat,Bei_
> Nserie,Bei_Categoria,Bei_Tipo,Bei_Dua,Bei_Lua,Bei_Status)";
> query += " values
> ('"+des+"','"+resp+"','"+local+"','"+ip+"','"+ponto+"','"+pat+"','"+seri
> e+"','"+cat+"','"+tipo+"','"+dua+"','"+lua+"',"+istatus+")";
>         
> stmt.executeUpdate(query);
> 
> []'s
> 
> Carlos Campos
> [EMAIL PROTECTED]
> Analista de Sistemas / Bolsista PCI
> MCT/CNPq  - CETEM - Centro de Tecnologia Mineral
> Fone: 0xx21 5607222 - Ext. 358
> 
>     --------------------------- LISTA SOUJAVA ---------------------------
>     http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
>     [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
>     ---------------------------------------------------------------------
> 


______________________________________________________________
Bruno Diniz de Paula
[EMAIL PROTECTED] - UFMG
[EMAIL PROTECTED] - Telemig Celular

"Coracoes ao alto e pes no chao."

"A verdadeira experiencia com Deus nao nos faz
 fugir da realidade, mas nos da forcas para
 enfrenta-la e transforma-la."

Pe. Zeca

    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    ---------------------------------------------------------------------

Responder a