Oi Bruno,

Claro que vc ajudou muito. Só pelo fato de tentar responder já é um fato
a agradecer.

Eu sei que o MS ACCESS deixa muito a desejar. Quando usava MS ACCESS com
Visual Basic, tentei usar transação e era uma desgraça. As operações no
Banco travavam e gerava um delay ridículo.

Enquanto não substituo o Banco de Dados e, tentando evitar qualquer
problema de colisão com o múltiplo acesso dos usuários, uma opção seria
utilizar uma Tabela-Contador e não utilizar a Auto-Numeração do MS
ACCESS.

Muito Obrigado pela ajuda,

[]'s

Carlos Campos

> ----- Mensagem original -----
> De:           Bruno Diniz de Paula [SMTP:[EMAIL PROTECTED]]
> Enviada em:           Quarta-feira, 15 de Dezembro de 1999 17:44
> Para:         'Lista SouJava'
> Cc:           'Lista Java BR'
> Assunto:              Re: [SouJava-J] INSERT INTO do SQL
> 
> 
> 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,Be
> i_
> > Nserie,Bei_Categoria,Bei_Tipo,Bei_Dua,Bei_Lua,Bei_Status)";
> > query += " values
> >
> ('"+des+"','"+resp+"','"+local+"','"+ip+"','"+ponto+"','"+pat+"','"+se
> ri
> > 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]
>  
> ---------------------------------------------------------------------

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