Foros del Web » Programación para mayores de 30 ;) » Java »

Problemas al guardar datos del formulario en dos tablas

Estas en el tema de Problemas al guardar datos del formulario en dos tablas en el foro de Java en Foros del Web. bueno el problema que tengo es que intento guardar los datos de un formulario, estos datos estan repartidos en 2 tablas de mi DB en ...
  #1 (permalink)  
Antiguo 30/07/2008, 17:06
 
Fecha de Ingreso: junio-2008
Mensajes: 30
Antigüedad: 15 años, 10 meses
Puntos: 0
Problemas al guardar datos del formulario en dos tablas

bueno el problema que tengo es que intento guardar los datos de un formulario, estos datos estan repartidos en 2 tablas de mi DB en mysql

lo que deseo es guardar las dos o no guardar ni una de ella, pero por ningun motivo solo guardar una de ella, e probado con el autocommit(false) y el roolback desde el java

el esquema es el siguiente:
Presupuesto y presupuesto_deta son clases correspondientes a las dos tablas en mencion, las cuales contienen el metodo de insercion correspondiente, estos metodos de insercion funcionan bien
///////////
try{
C.Conectar();
C.getConexion().setAutoCommit(false);
// le envio la conexion "C" como parametro para establecer la conexion
Presupuesto = new Constructor(C);
Presupuesto.Insert(/*paramtros a insertar*/);
// le envio la conexion "C" como parametro para establecer la conexion
Presupuesto_deta = new Constructor2(C);
Presupuesto_deta.Insert(/*paramtros a insertar*/);
/*al final pongo commit para recien aprobar que guarde ambas tablas en caso de que no hay ocurrido algun errror*/
C.getConexion().commit();
catch(Exception e){
C.getConexion().rollback();
}

este metodo si corre, pero no como quiero, ya que si ocurre un error en la segunda insercion, guarda la primera insercion y la segunda no, algo que no deseo, ps ya que si ocurre algun error toncs no quiere que guarde ninguna de las 2.

bueno este es el esquema general, es la idea con la que estoy trabajando , tambien probe con el savepoint, y no obtuve mejoras, estoy usando procedimientos almacenados para insertar pero sin transacciones

AYUDENME!!!!
  #2 (permalink)  
Antiguo 31/07/2008, 11:44
 
Fecha de Ingreso: julio-2008
Mensajes: 9
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problemas al guardar datos del formulario en dos tablas

Quiubo vacknr, pues lo primero seria verificar que ambos métodos funcionen bien, si esque ya lo has hecho entonces prueba, como tu dices, ejecutar desde el java uno, y depues el otro, con datos cualesquiera y en base a eso corregir errores.

Otra cosa, no sé cómo estas haciendo tus inserciones y cómo es que accesas a la base de datos (Hibernate?) pero según tengo entendido el commit y el rollback son métodos para verificar transacciones, no para realizarlas, tienes que hacer algúna inserción, modificación o borrado para utilizarlos (a como yo lo he hecho).

Ayudaría mucho si pusieras el error que te arroja y también que especificaras la versión versión, IDE y todo lo que utilizas dentro de tu aplicación. Ahh, y no pierdas la pasciencia...
  #3 (permalink)  
Antiguo 31/07/2008, 16:00
 
Fecha de Ingreso: junio-2008
Mensajes: 30
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problemas al guardar datos del formulario en dos tablas

Cita:
Iniciado por PepeParacho Ver Mensaje
Quiubo vacknr, pues lo primero seria verificar que ambos métodos funcionen bien, si esque ya lo has hecho entonces prueba, como tu dices, ejecutar desde el java uno, y depues el otro, con datos cualesquiera y en base a eso corregir errores.

Otra cosa, no sé cómo estas haciendo tus inserciones y cómo es que accesas a la base de datos (Hibernate?) pero según tengo entendido el commit y el rollback son métodos para verificar transacciones, no para realizarlas, tienes que hacer algúna inserción, modificación o borrado para utilizarlos (a como yo lo he hecho).

Ayudaría mucho si pusieras el error que te arroja y también que especificaras la versión versión, IDE y todo lo que utilizas dentro de tu aplicación. Ahh, y no pierdas la pasciencia...
Bueno quiza no me exprese bien, pero no me salen errores, lo que sucede es que no hace lo que realmente quiero, los errores que dije que se pueden generar, son en tiempo de ejecucion, como ingresar datos incoherente o cosas asi. agradeceria si me dijeran otra tecnica con la cual pueda obtener los resultados antes mencionados... ya que la que estoy usando le e dado vueltas de arriba pa abajo y nada.

tanto el commit como el rollback, verifican pero tambien realizan y deshacen la transaccion actual, uso el autocommit(false), para yo poder decir que ambas inserciones son un sola transaccion, asi puedo finalizar con commit.
bueno espero que tengas más claro mi problema y me puedas ayudar...
  #4 (permalink)  
Antiguo 31/07/2008, 17:00
 
Fecha de Ingreso: junio-2008
Mensajes: 30
Antigüedad: 15 años, 10 meses
Puntos: 0
De acuerdo Respuesta: Problemas al guardar datos del formulario en dos tablas

BUENO ME RESPONDO YO MISMO, EL UNICO CAMBIO QUE HIZE ES QUE EN VES DE OBTENER LA CONEXION con el C.getConexion(), y usarla de este modo, lo que hize fue asignarle e C.Conexion() a un variable

Connection Cnn = C.getConexion();

y trabajar con el Cnn :S, que ridiculo verdad ... xD
try{
Cnn.autocommit(false);
Presupuesto = new Construcor(Cnn);
Presupuesto_deta = new Construcor1(Cnn);
Presupuesto.Insert(/*parametros*/)
Presupuesto_deta.Insert(/*parametros*/)
Cnn.commit();
}catch(Exception e){
Cnn.rollback();
}finally{
Cnn.close();
}

y listo el pollo :S, graxias por su ayuda, y espero les sirva a uds...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:55.