Erro scope_identity()

Boa noite pessoal,

seguinte estou tentando recuperar o último ID gerado por um insert da maneira abaixo, mas não consigo, me retorna o seguinte erro: [color=red]Can not issue data manipulation statements with executeQuery() [/color]

Alguém saberia me dizer o q estou fazendo de errado ?

abcs

[code]public void gravar() throws Exception{

    open();

    StringBuilder sql = new StringBuilder();
    
    sql.append("Insert INTO Anuncio_Imovel( ");
    sql.append("Id_Conta, ");
    sql.append("Id_Tipo_Imovel, ");
    sql.append("Titulo_Anuncio, ");


sql.append("Fl_Anuncio_Ativo, ");
sql.append(“Fl_Possui_Imobiliaria “);
sql.append(”)”);
sql.append(“Values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?); Select scope_identity();”);

    stmt = con.prepareStatement(sql.toString());

    stmt.setInt(1, this.getIdConta());
    stmt.setInt(2, this.getIdTipoImovel());
    stmt.setString(3, this.getTituloAnuncio());


stmt.setInt(21, this.isFlAnuncioAtivo());
stmt.setInt(22, this.isFlPossuiImobiliaria());

    ResultSet rs = stmt.executeQuery();
    rs.next();

    this.setIdImovel(rs.getInt(1));

    rs.close();
    
    stmt.close();

    close();

}[/code]

Tópico movido para o fórum de persistência.

Oi! Vc já tentou utilizar executeUpdate ao invés de executeQuery?

da tipos incompatíveis quando utilizo o executeUpdate()…

alguém poderia postar um código que esteja funcionando para comparar ?

abcs

Por que não cria uma Stored Procedure?

não quero trabalhar com SPs, principalmente em MySql…
quero tudo na APP…

mais por decisao de arqutetura mesmo… nao tnho nada contra SPs…

po, pensei q essa ia ser facil rsrsrs
devo ta procurando errado no google, nao consigo achar nenhum exemplo…

consegui galera…
no MySql o nome da função é outro: LAST_INSERT_ID()

[code] stmt.executeUpdate();

    rst = stmt.executeQuery("SELECT LAST_INSERT_ID()");
    rst.next();

    this.setIdImovel(rst.getInt(1));

    stmt.close();

    close();[/code]

abcs