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