Mostrar Código gerado pelo Banco?

8 respostas
r0g3r10gc

Galera estou desenvolvendo um sistema de cadastro, e preciso que na hora que a pessoa gravar, o sistema mostra na tela o código gerado para este determinado cadastro. Estou usando Netbeans 5.5 e banco de dados MySql 5.0, obs o banco esta gerando o codigo a cada vez que grava.

Grato!

8 Respostas

Giulliano

opa…que tipo de código vc quer pegar ??? as dlls ???

ViniGodoy

Você pode obter o último código gerado através do seguinte SQL:

SELECT LAST_INSERT_ID()

dudaskank

Existe o método getGeneratedKeys() também, que te retorna um ResultSet com as chaves geradas, acho que isso pode te ajudar.

r0g3r10gc

Obrigado galera mais consegui desenvolver um algoritmo de busca no netbeans que pega:

ResultSet RS1= (ResultSet) stmt.executeQuery(SELECT *FROM tbtreina ORDER BY codTreina);

if (RS1.last())

{

TNTreina.setText(RS1.getString(codTreina));

String cod = TNTreina.getText();
String message = String.format("O CÓDIGO GERADO PARA TREINAMENTO CADASTRADO É %s, FAVOR ANOTE!" ,cod);
       JOptionPane.showMessageDialog(null,message);
       
    }
dudaskank

Bom, se alguém cadastrar um treinamento em outra estação pode ser que esse método de problemas, pegando o código de outro.

Mas se esse risco é baixo, acredito que vale deixar assim.

1112

Se quiser evitar o risco indicado pelo dudaskank, faça sua busca na mesma transação em que foi feito o insert.

r0g3r10gc

É BUSCA E FEITE SIM APOS O INSERT, POR ISSO QUE NÃO TEM PROBLEMA DO SISTEMA SER MULTI-USUARIO.

ViniGodoy

Ainda sim, se o código é auto number, é melhor usar um dos métodos citador por mim ou pelo duda.

Isso porque o SQL fará consulta apenas a uma variável, não necessariamente na tabela. A medida que a tabela aumentar, seu método ficará progressivamente mais lento.

Criado 8 de fevereiro de 2007
Ultima resposta 9 de fev. de 2007
Respostas 8
Participantes 5