Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Insert +ResultSet + ResulSetMetaData (http://www.forosdelweb.com/f45/insert-resultset-resulsetmetadata-592518/)

Lino-kun 02/06/2008 09:33

Insert +ResultSet + ResulSetMetaData
 
Hola foro buen dia.

tengo un pequeño problemita y me gustaria ver si alguien tiene alguna idea.

tengo que hacer una insercion por medio de java a una BD, el asunto es que la tabla tiene un campo de tipo autoincrement y lo que necesitamos es que en el instante despues de la insercion cuando el DBMS genera el campo autoincremente lo pueda recuperar por que ese valor lo usaremos para otra insercion posterior. esta medio enredado pero en si es insertar y obtener el valor del campo autoincrement a la vez.

alguien me dijo que con los metadatas es probable pero revisando no encontre algo que me sirva, no se si alguien tenga alguna idea.

saludos

franju 03/06/2008 02:37

Respuesta: Insert +ResultSet + ResulSetMetaData
 
Hola,

Lo que puedes hacer es recuperar el id justo despues de hacer el insert gracias a una query a la base de dades.

Por ejemplo: select max(id) from tabla.

espero que esto te sirva de ayuda.

Un saludo,

Frank

Lino-kun 03/06/2008 07:51

Respuesta: Insert +ResultSet + ResulSetMetaData
 
hola franju.

Sabes ya pense en eso pero no es factible este sistema tiene llegadas multiples no sincronas, lo que significa que si dos usarios insertan uno despues del otro entre la segunda insercion y la primer consulta me daria el id del segundo usuario.

Ya lo solucionamos de otra forma pongo el codigo por si alguien le sirve. lo que hicimos fue un
PreparedStatement.RETURN_GENERATED_KEYS. para que despues de insertar obtengamos la llave autogenerada para ese registro.

Código PHP:

ps conn.prepareStatement(sql,PreparedStatement.RETURN_GENERATED_KEYS);    
rs ps.getGeneratedKeys();

if(
rs.next()){
     
result=rs.getInt(1);
     
System.out.println(result);



JashUsal 02/12/2008 12:36

Respuesta: Insert +ResultSet + ResulSetMetaData
 
Buenas tardes,

Justamente es el problema que tengo, podrías darme algo mas de ayuda...

El código que tengo es:
Código PHP:

         Connection c this.dataSource.getConnection();
         
Statement st c.createStatement(); 
         
String sql "INSERT INTO ...
         Integer res = st.executeUpdate(sql); 

Lo que necesitaría es tener en "res" el id del registro insertado, gracias de antemano..

Jash.


La zona horaria es GMT -6. Ahora son las 00:10.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.