Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/03/2009, 05:07
Tonetete
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 15 años, 10 meses
Puntos: 0
Problema con ASP y restriccion non-null, etc

Veamos, tengo un problema que lleva días amargándome y es el siguiente.

En ASP cuando creo un nuevo dataset, creo una nueva conexión a mi SQL Server donde se encuentra la BD "liberia" de la cual agrego todas sus tablas relacionadas entre sí, tres de ellas "Empleados, Editorial y Trabajo" las haré servir para crear una nueva consulta en la tabla empleados que utilizaré como fill para llenar una datagrid que estará destinado a la modificación del mismo, aquí tenéis el dataset con sus relaciones:


Editoriales: IDEditorial, Nombre, Ciudad, Estado, País

Empleados: IDEmpleado, Nombre, Apellido, IDTrabajo, IDEditorial, FechaAlta

Trabajo: IDTrabajo, Descripcion

Y aquí la consulta en cuestión:

SELECT Editoriales.Nombre AS Editorial, Empleados.Nombre, Empleados.Apellido, Trabajos.Descripcion AS Trabajo, Empleados.FechaAlta,
Empleados.IDTrabajo, Empleados.IDEditorial
FROM Empleados INNER JOIN
Trabajos ON Empleados.IDTrabajo = Trabajos.IDTrabajo INNER JOIN
Editoriales ON Empleados.IDEditorial = Editoriales.IDEditorial

Como bien véis, en la consulta quiero añadir la descripción del trabajo y el nombre de la editorial donde trabaja el empleado, hasta ahí perfecto inclusto el asistente me realiza bien la consulta pero a la hora de crear un objectdatasource y vincularlo a mi consulta casera (debo destacar que en le datagrid me coge los campos tal cual de la tabla empleados ignorando mi select) al ejecutar la página obtengo el error siguiente:

No se pudieron habilitar las restricciones. Una o varias filas contienen valores que infringen las restricciones NON-NULL, UNIQUE o FOREIGN-KEY.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: System.Data.ConstraintException: No se pudieron habilitar las restricciones. Una o varias filas contienen valores que infringen las restricciones NON-NULL, UNIQUE o FOREIGN-KEY.

Error de código fuente:


Línea 7548: this.Adapter.SelectCommand = this.CommandCollection[1];
Línea 7549: DataSet_Libros.EmpleadosDataTable dataTable = new DataSet_Libros.EmpleadosDataTable();
Línea 7550: this.Adapter.Fill(dataTable);
Línea 7551: return dataTable;
Línea 7552: }


Por lo que se ve se queja de que pueda a ver valores nulos o que no se respetan foraneas y uniques; cuando no es así ya que no retorna nulos y no hay problemas de referencias; estuve pateandome la web y muchos hacían inciso en que era problema del EnforceConstraints que había que ponerlo a false, pero ni con esas funciona; por otro lado creando un nuevo tableadapter añadiéndolo al dataset y asignándole la select casera esta si que termina cargandome bien el datagrid con sus datos pero pienso que no es la solución "elegante" por así decirlo y terminaría siendo una lata a la hora de actualizar o borrar datos.

No sé, alguna sugerencia al respecto? espero que haya alguien tenga mano de santo porque vaya...

Gracias de antemano.