Retornar ID do Insert + Sql Server

Olá pessoal!

Estou fazendo um insert utilizando jdbc, entretanto, não consigo pegar o id que foi gerado no banco,o banco que estou usando é sql server.

Quando tento acessar o ResultSet da o seguinte erro: [quote]java.sql.SQLException: No current row in the ResultSet.[/quote]

Gostaria de saber como faço para pegar o id que acabei de gravar, segue abaixo o código que estou utilizando.

 public final int executarSQL2(String sql) throws SQLException {
    	int qtdLinhasAtualizadas = 0;
    	erroCodigo = 0;
    	erroMensagem = "";
    	setErroTrace("");
    	PreparedStatement pstmt;
    	
    	pstmt =  conexao.prepareStatement(sql,PreparedStatement.RETURN_GENERATED_KEYS);

    	try {
    		
    	    qtdLinhasAtualizadas = pstmt.executeUpdate();
    	    if (qtdLinhasAtualizadas == 0) {
    		erroCodigo = ERRO_CRITERIO_INVALIDO;
    		erroMensagem = "Crit?rio para insert/update/delete inv?lido!";
    	    }else{
    	    	ResultSet rs = pstmt.getGeneratedKeys();
    	    	rs.getInt(1);
				int columns = rs.getMetaData().getColumnCount();
				for (int i=1;i<=columns;i++) {  
					System.out.println(rs.getMetaData().getColumnName(i)+":"+rs.getString(i));
				}
    	    	System.out.println("Dados foram atualizados com sucesso com sucesso!");
    	    }
    	} catch (SQLException e) {
    	    e.printStackTrace();
    	    erroCodigo = e.getErrorCode();
    	    
    	    erroMensagem = "Erro na execução do SQL : " + e.getMessage().replace('\n', '\0');
    	    return 0;
    	} finally {
    	    if (pstmt != null) {
    		    pstmt.close();
    		}
    	}
    	return qtdLinhasAtualizadas;
}

Estou utilizando o drive do jtds:

 public boolean conectar() {

	try {
	    Class.forName("net.sourceforge.jtds.jdbc.Driver");
	    
	    conexao = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost;DatabaseName=Banco_teste;", "sa", "sa");
	    
	    System.out.println("**** CONECTOU !!!! " + conexao.toString());
	    
	} catch (ClassNotFoundException e) {
	    e.printStackTrace();
	    return false;
	} catch (SQLException ex) {
	    ex.printStackTrace();
	    return false;	
	} catch (Exception e) {
	    e.printStackTrace();
	    return false;
	}	

	return true;
}

Se alguém puder me ajudar ficarei muito agradecido.

Deus abençoe!

Cara da uma olhada nesse link pra ver se te ajuda

http://blog.jesjobom.com/2009/04/basico-de-java-para-web-parte-2/

[]s