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

Consulta y asignacion de foreigns keys

Estas en el tema de Consulta y asignacion de foreigns keys en el foro de Java en Foros del Web. Hola.... Primero que todo contextualizo: Trabajo con eclipse (JDK 1.4) y BD oracle 10g. Uso JSP y servlets obviamente Cree un archivo .properties para las ...
  #1 (permalink)  
Antiguo 15/09/2009, 09:21
Avatar de gabrican  
Fecha de Ingreso: junio-2008
Ubicación: Medellin
Mensajes: 89
Antigüedad: 15 años, 10 meses
Puntos: 4
Ingreso duplicado de datos

Hola....
Primero que todo contextualizo:
Trabajo con eclipse (JDK 1.4) y BD oracle 10g.
Uso JSP y servlets obviamente
Cree un archivo .properties para las sentencias SQL
Uso clases denominadas DAO para la ejecucion de sentencias y DTO para los get y set.

Al momento de ingresar la informacion, el SIST me debe consultar la informacion de la clave primaria de la tabla "MADRE" para ingresarla como Foreign key en la tabla "HIJA", y adicional a esto me debe llevar la informacion que tengo en el formulario... Lo que pasa ahora es que al ejecutar esto me ingresa la información 2 veces... me ayudan?

Codigo:
public int insertarInforme(InformeDTO informe)
throws SQLException, ConnectionException {

PreparedStatement ps;
PreparedStatement ps2;
ResultSet rs;
ResultSet resultado;
int codigo=1;
int proyecto=0;

/*Se inicia la conexión con la base de datos.*/
conectar();

/*Se consulta la clave foránea de la T.MADRE */
ps2 = conexion.prepareStatement(conexion.getStatement("s eleccionaproyecto"));
resultado = ps2.executeQuery();

if (resultado.next()) {
proyecto=resultado.getInt("id_proyecto");

/*Se carga la sentencia de insercion de datos*/
ps = conexion.prepareStatement(conexion.getStatement("i nsertarInforme"));

/* Se asignan los valores de los parámetros asociados al Informe que se va a agregar.*/

ps.setInt(1, informe.getNum_pisos_inf());
ps.setDouble(2, informe.getNum_atc_inf());
ps.setDouble(3, informe.getNum_aic_inf());
ps.setDouble(4, informe.getNum_aio_inf());
ps.setInt(5,proyecto);

/*Se ejecuta la sentencia SQL de Ingreso de Datos*/
ps.execute();
rs = ps.executeQuery();
ps.close();
rs.close();

}

/*Se cierran las conexiones establecidas.*/
resultado.close();
ps2.close();
cerrarConexion();
return codigo;
}

Última edición por gabrican; 22/09/2009 a las 11:17 Razón: Aclaración y Modificación
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:14.