Bomm…eu tenho um cadastro de clientes no meu sistema…e para ter um controle desses clientes eu criei um campo “codigo”(auto incremento) na tabela de cadastro de clientes do meu banco…o problema é o seguinte:
no meu formulário tem a opção de tirar a foto do cliente atraves de uma webcam…e quando tirasse a foto ele iria salvar em uma pasta com o nome da seguinte forma: “ocodigodocliente.jpg”…só que eu só vou saber qual é o codigo do cliente depois que eu cadastrar ele…pq o campo eh auto incremento…tem um jeito de saber qual é o proximo codigo do auto incremento?
entao…mas para eu guardar o nome da imagem no banco eu precisaria do nome dela…e o nome dela irá ser formado com o codigo do cliente: “codigodocliente”.jpg…ai eu precisaria saber o codigo…
renanedpedroso
Veja os link que eu te passei sobre ids ‘autonuméricos’.
Abraço!
Schoker
ah tah...agora entendi...se eu inserir o meu registro e logo depois eu fizer o comando:
PreparedStatement ps = conexao.prepareStatement("SELECT LAST_INSERT_ID()");
ResultSet rs = ps.executeQuery();
int id = 0;
if (rs.next()) {
id = rs.getInt(1);
}
ai eu pego esse codigo e jogo no nome da imagem...
isso mesmo hehe...
vlw pela ajuda!!
Abraço!
renanedpedroso
Altere o nome do post adicionando ‘[RESOLVIDO]’.
Abraço!
rogelgarcia
Só uma observacao sobre esse SELECT LAST_INSERT_ID()
:arrow: Se voce fizer duas inserções rapidamente… e depois chamar o SELECT LAST_INSERT_ID() voce pode receber o número incorreto
renanedpedroso
rogelgarcia:
Só uma observacao sobre esse SELECT LAST_INSERT_ID()
:arrow: Se voce fizer duas inserções rapidamente… e depois chamar o SELECT LAST_INSERT_ID() voce pode receber o número incorreto
Aí o programador é que tem que tratar isso…
Você não pode fazer dois inserts e querer pegar o valor do id da primeira inserção, concorda?
Outra coisa…
Se estiver falando de várias máquinas, isso não ocorre pois o banco já trata isso.