Estou fazendo um sistema de cadastro e quero que após o cadastro ser inserido no banco de dados ele retorne o ID do cadastro, esse é o codigo que eu estou utilizando:
sql = "SELECT MAX(id_aluno) FROM ALUNO";
ps = (java.sql.PreparedStatement) con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
int id = rs.getInt("id_aluno");
mas não está localizando a coluna e está exibindo o seguinte erro:
Column 'id_aluno' not found.
SQLState:S0022
VendorErrro:0
O que pode estar acontecendo e quais outras maneiras eu posso usar para retornar o id gerado pelo banco de dados?
Fala ai @vze o seu problema é que na instrução SQL a seguir voce não deu um alias para a coluna aonde aparece o MAX(id_aluno)
sql = “SELECT MAX(id_aluno) FROM ALUNO”;
ps = (java.sql.PreparedStatement) con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
int id = rs.getInt(“id_aluno”);
voce deveria usar assim:
sql = “SELECT MAX(id_aluno) AS ‘id_aluno’ FROM ALUNO”;
ps = (java.sql.PreparedStatement) con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
int id = rs.getInt(“id_aluno”);