Problema ao recuperar chave gerada

3 respostas
D

Boa noite meus amigos, estou com um problema, nao estou sabendo qual metodo devo usar para recuperar o valor gerado por um getGeneratedKeys();

Eu fiz assim meu codigo:

instrucao.executeUpdate(qry,Statement.RETURN_GENERATED_KEYS);

rs = instrucao.getGeneratedKeys();

Mas agora eu quero usar o valor desta chave em uma consulta logo depois de atribuir o valor dela ao recordSet. Nao estou sabento como capturalo, ja tentei rs.getInt(1), rs.getString(1) e varios outros jeitos mas nao estou conseguindo, alguem pode me ajudar?

Obrigado a todos!

3 Respostas

J

rs = instrucao.getGeneratedKeys(); rs.next(); int id = rs.getInt(1);

D

Valeu brother, mto obrigado pela ajuda!

D

Isso funciona com um banco em Access conectado via ODBC? pois eu fiz e não funcionou:

PreparedStatement ps = con.prepareStatement( 
                                    strSQL, Statement.RETURN_GENERATED_KEYS );
ps.setString( 1, categoria.getNome( ) );
ps.executeUpdate( );

ResultSet rs = ps.getGeneratedKeys();
if(rs.next())
    categoria.setCodigo(rs.getInt("codigo"));

Só que o erro ele dá na hora de criar o PreparedStatement, UnsupportedOperationException

Criado 1 de novembro de 2006
Ultima resposta 15 de nov. de 2006
Respostas 3
Participantes 3