MySql - AutoIncrement

1 resposta
R

Tem como saber qual será o próximo código gerado de um campo autoincrement?

1 Resposta

S
Rodrigo1895:
Tem como saber qual será o próximo código gerado de um campo autoincrement?
como você não especificou se é jdbc ou jpa..... e tem uma sessão propria do forum para persistencia ok?
public int adiciona(Compra compra) throws SQLException{
		
		String sqlCompra = " INSERT INTO TB_COMPRA ( EMPRESA_ID , CLIENTE_ID , DATA_COMPRA , HORA_COMPRA , TOTAL_DOUBLE) VALUES (?,?,?,?,?) ";
		conexao = Conexao.getConnection();
		int i = 1;

		PreparedStatement pstmtCompra = conexao.prepareStatement(sqlCompra , Statement.RETURN_GENERATED_KEYS) ;
		pstmtCompra.setInt(i++,compra.getEmpresaId());
		pstmtCompra.setInt(i++, compra.getClienteId());
		pstmtCompra.setDate(i++,new Date(compra.getDataHora().getTime()));
		pstmtCompra.setTime(i++,new Time(compra.getHora().getTime()));
		pstmtCompra.setDouble(i++, compra.getTotal());
		
		pstmtCompra.executeUpdate();
		ResultSet rs = pstmtCompra.getGeneratedKeys();
		
		int compraId = 0;
		
		if (rs.next()) {
			System.out.println(rs.getInt(1));
			compraId = rs.getInt(1);	
		}
		conexao.close();
		return compraId;
	}
o segredo está no
Statement.RETURN_GENERATED_KEYS
esse metodo retorna o ultimo id que foi gerado da tabela compra
Criado 31 de agosto de 2013
Ultima resposta 31 de ago. de 2013
Respostas 1
Participantes 2