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

Problema con consulta sql

Estas en el tema de Problema con consulta sql en el foro de Java en Foros del Web. Buenas! Me aparece el siguiente problema con una consulta sql: Tengo 2 tablas, TB_Jugador y TB_Disponibilidad, ambas están relacionadas mediante una relación de 1 a ...
  #1 (permalink)  
Antiguo 18/12/2009, 16:58
 
Fecha de Ingreso: julio-2008
Mensajes: 19
Antigüedad: 15 años, 9 meses
Puntos: 0
Problema con consulta sql

Buenas!

Me aparece el siguiente problema con una consulta sql:

Tengo 2 tablas, TB_Jugador y TB_Disponibilidad, ambas están relacionadas mediante una relación de 1 a N. La clave primaria de la TB_Jugador (nickname) es la clave externa de la TB_Disponibilidad.

Yo intento hacer un insert en la TB_Disponibilidad de la siguiente manera:

ConexionSQL.stmt.executeUpdate("INSERT INTO TB_DISPONIBILIDAD (dia,hora,nickname) VALUES ('" + dia + "','" + hour + "','" + nick + "')");

Y me aparece el siguiente error:

java.sql.SQLException: [Microsoft][Controlador ODBC Microsoft Access] No se puede agregar o cambiar el registro porque se necesita un registro relacionado en la tabla 'TB_GAMER'.

Creo que no estoy haciendo bien el insert y supongo que el problema me lo da la relación existente entre las 2 tablas pero ahora mismo no se me ocurre como hacerlo.

Agradecería vuestra ayuda
  #2 (permalink)  
Antiguo 21/12/2009, 03:29
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Problema con consulta sql

Wenas

Te esta diciendo que existe una relacion entre TB_DISPONIBILIDAD y TB_GAMER.

Saludos.
__________________
--
NO. Tu problema no es urgente.

CCFVLS
  #3 (permalink)  
Antiguo 22/12/2009, 02:32
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Problema con consulta sql

Para ampliar un poco lo que te dice elAntoine.

Al parecer estás intentando realizar un insert en una tabla que tiene una clave foranea. Eso implica que uno de los valores que ha insertado los va a buscar en el punto donde está la clave primaria, que para tu caso es la tabla TB_GAMER.

Por tanto te corresponde primero hacer el insert en TB_GAMER, y cuando lo tengas, hacerlo en TB_DISPONIBILIDAD.
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 17:35.