Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 02-jun-2008, 09:33   #1 (permalink)
Lino-kun ha deshabilitado el karma
 
Avatar de Lino-kun
 
Fecha de Ingreso: mayo-2008
Ubicación: Cuernavaca Morelos Mexico
Mensajes: 120
Enviar un mensaje por MSN a Lino-kun
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
Lino-kun está desconectado   Responder Citando
Antiguo 03-jun-2008, 02:37   #2 (permalink)
franju está en el buen camino
 
Fecha de Ingreso: febrero-2004
Ubicación: andorra
Mensajes: 374
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
__________________
vuestro amigo franju
franju está desconectado   Responder Citando
Antiguo 03-jun-2008, 07:51   #3 (permalink)
Lino-kun ha deshabilitado el karma
 
Avatar de Lino-kun
 
Fecha de Ingreso: mayo-2008
Ubicación: Cuernavaca Morelos Mexico
Mensajes: 120
Enviar un mensaje por MSN a Lino-kun
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);

Lino-kun está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 19:08.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93