Dúvida retorno de consulta

Boa noite pessoal,

Primeiro agradeço a sua atenção! este é o meu primeiro tópico!

Estou tentando resolver um trabalho da faculdade. A proposta é o método retornar o id do ultimo_projeto e incrementar para que eu possa saber qual é o valor do próximo valor que devo cadastrar no banco.

Fiz uma método de consulta mais ele não está retornando o valor do último id.
Testei a consulta diretamente no mysql e a consulta retorna o que desejo.

O problema é que se eu colocar o retorno dentro do try/catch ele diz que o retorno do método deve ser void se eu tirar o try ele não dá erro mais nãooo me retorna também em nada!

Esse é o meu método:

public int idUltimoProjeto() throws Exception {

Connection con = DBUtil.getConnection();

try{
ResultSet rs;
PreparedStatement consulta;

consulta = con.prepareStatement(“select id from projeto order by id desc LIMIT 0,1”);
rs = consulta.executeQuery();
int id = rs.getInt(“id”)+1;
return id;

}

catch(Exception e)
{
e.printStackTrace();
}

}


Consulta para inserir o meu ID no novo projeto

public boolean insert(Projeto projeto) throws SQLException
{
// Monta SQL
String sql01 = “INSERT INTO projeto(inicio,titulo,estado,fk_professor) values”;

sql01 += “(”;
sql01 += “’”+sdf.format(projeto.getInicio())+"’";
sql01 += “,”;
sql01 += “’”+projeto.getTitulo()+"’";
sql01 += “,”;
sql01 += “’”+projeto.getEstado()+"’";
sql01 += “,”;
sql01 += “’”+idUltimoProjeto()+"’";
sql01 += “)”;

Eu utilizei no fk_professor o valor consultado no método idUltimoProjeto()!

Algum profissional poderia me ajudar onde estou errando?

Obrigado!

Como vc é novo no Forum, quando postar código, use-os entre as tags Code.

Bom para retornar o último ID: select Max(id) from projeto

Para retornar o próximo ID: select Max(id)+1 from projeto

o problema pelo que vi não é o SQL.
É algo de código pq ele na retorna nada! tem algo errado?

Da uma olhada nesse post, http://www.guj.com.br/posts/list/30/140808.java#759051. A parte do uso do ResultSet e Statement pode ser útil.

Qual banco vc usa? no mysql existe uma função que retorna o ultimo id(pk) de uma tabela last_insert_id() vc pode utiliza-la. Em questão do retorno null, verifica se vc não esqueceu de abrir a conexão com o banco, ele não executa e não da erro algum.