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

Error del TableAdapter con las restricciones

Estas en el tema de Error del TableAdapter con las restricciones en el foro de .NET en Foros del Web. Buenas tardes, tengo un problema, y es que tengo un TableAdapter donde salta la siguiente excepción: Cita: No se pudieron habilitar las restricciones. Una o ...
  #1 (permalink)  
Antiguo 21/05/2009, 11:40
Isdiar
Invitado
 
Mensajes: n/a
Puntos:
Exclamación Error del TableAdapter con las restricciones

Buenas tardes,

tengo un problema, y es que tengo un TableAdapter donde salta la siguiente excepción:
Cita:
No se pudieron habilitar las restricciones. Una o varias filas contienen valores que infringen las restricciones NON-NULL, UNIQUE o FOREIGN-KEY.
Para ello, he arrastrado el DataSet desde "Orígenes de datos" hasta el Form y después, en código hice lo siguiente:
Cita:
Dim arrUsuarios As DataSet_Usuarios.USUARIOSDataTable
arrUsuarios = USUARIOSTableAdapter1.SelectUsuarios_Codigo
Lo más raro es que es exactamente lo mismo que hice con otro DataSet en otro Form distinto y me funciona correctamente.

He probado a desactivar las restricciones usando la siguiente línea:
Cita:
DataSet_Usuarios1.EnforceConstraints = True
Dicha línea la dispuse del siguiente modo en el código que puse primero:
Cita:
DataSet_Usuarios1.EnforceConstraints = True
Dim arrUsuarios As DataSet_Usuarios.USUARIOSDataTable
arrUsuarios = USUARIOSTableAdapter1.SelectUsuarios_Codigo
Pero... no me ha servido, me sigue dando el mismo error, ¿alguna idea? Muchas gracias! Un saludo!
  #2 (permalink)  
Antiguo 02/06/2009, 12:14
Isdiar
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error del TableAdapter con las restricciones

Podrían ayudarme? Es el error que me tiene atascado en mi proyecto integrado, y tengo que presentarlo el día 19 de este mismo mes, y aún me faltan cositas por hacer...

Espero que sepan la solución al problema, o me puedan orientar. Un saludo y gracias!
  #3 (permalink)  
Antiguo 02/06/2009, 12:32
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Error del TableAdapter con las restricciones

En una TableAdapter o cualquier componente ADO puedes hacer lo que se te ocurra, pero tu problema es que lo que haces está violando las restricciones referenciales de las tablas en la base de datos, y contra eso no puedes hacer nada.
Tu problema, en realidad no es de TableAdapter. Tu problema es que no estás validando correctamente los datos que entran o se actualizan, y los que intentas meter violan las claves primarias y foráneas en las tablas implicadas.
Revisa tu código y verifica qué campos claves estás ingresando sin cumplir con las restricciones de la base de datos.
Cuando desactivas esas restricciones, las desactivas en los objetos de la aplicación, no en la base. Para desactivarlas en la base debes usar sentencias y comandos de control propios del DBMS...


Te doy un tip: Fijate si estás leyendo una tabla que tenga claves foráneas y verifica que la tabla referida tenga los valores entrantes ANTES de meter el datos en la tabla de la FK. Si la FK no existe en la tabla primaria, el registro no ingresará en la secundaria, hagas lo que hagas, sin inhabilitar las validaciones de base primero... e ingresando el valor correspondiente en la primaria después.
El tema es que apenas reactives las restricciones se validarán primero las FK.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 02/06/2009, 12:54
Isdiar
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error del TableAdapter con las restricciones

Gracias "gnzsoloyo" por contestar,

la consulta que yo realizo (y en la que me sale el error que os comento) es el siguiente select:
Cita:
SELECT COD_ORG, NOMBRE_ORG
FROM GESTIDOUK.ORGANIZACIONES
ORDER BY COD_ORG ASC

La tabla ORGANIZACIONES, desde donde coge los datos es esta:
Cita:
CREATE TABLE ORGANIZACIONES (
cod_org VARCHAR2(7) PRIMARY KEY, /* Ejemplo: org0001 */
nombre_org VARCHAR2(50) NOT NULL,
cargo_org VARCHAR2(25) NOT NULL
);

Dicha tabla, actualmente sólo tiene dos filas, donde los 3 atributos están rellenos con texto y cumpliando las restricciones del tamaño del VARCHAR2 y el NOT NULL.

Por ello no comprendo el porqué dice que no se pudieron habilitar las restricciones...

Lo que sí tengo es otra tabla donde hay un FK apuntando a ORGANIZACIONES, pero ninguna fila lo tiene en uso (o sea, ORGANIZACIONES no es referenciada por ninguna tabla actualmente).
  #5 (permalink)  
Antiguo 02/06/2009, 13:22
Isdiar
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error del TableAdapter con las restricciones

Es mas, he creado nuevamente la tabla sin ningún tipo de restricción:
Cita:
CREATE TABLE ORGANIZACIONES (
cod_org VARCHAR2(7),
nombre_org VARCHAR2(50),
cargo_org VARCHAR2(25)
);

Y en la pestaña "Constraints" de la tabla, no aparece ninguna restricción. Le pongo meto una fila, ejecuto la aplicación y me vuelve a dar el mismo error... ¿Qué puede ser?
  #6 (permalink)  
Antiguo 02/06/2009, 14:56
Isdiar
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error del TableAdapter con las restricciones

Mira "gnzsoloyo", he decidido prescindir de dicha tabla, pues llevo varios días de intenso cabreo y con un humor de perros, pues es totalmente inexplicable, y como no es una tabla imprescindible, he optado por eliminarla...

Gracias de todos modos, un saludo amigo! ;)
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 20:34.