none
No borra por regsitros relacionados con otra tabla...asp.net c# RRS feed

  • Pregunta

  • Hola, como les va??, molesto con que tengo hecho un ABM de un Proyecto web, pero hay 4 ABM´s que fallan en este Error:

    "no borra por registros relacionados con otra Tabla, o con Tabla XXX"...

    por que sucede esto??

    significa que para poder borrar un registro del la Tabla de ese ABM, tambine debo ir y borrar los Registros relacionados de la otra Tabla XXX???, 

    como se solucionaria esto, dado que debiera poder borrar sin este error, no es asi???

    Gracias por vuestra disposicion, si me lo hacen saber como se soluciona, tambien, Abrazos...

    miércoles, 26 de octubre de 2016 22:46

Respuestas

  • GuilloFerrero,

    Cuando relacionas dos tablas defines reglas de integridad referencial que exigen correspondencia de valores entre ambas tablas, por tanto, no puedes eliminar un valor de fila que se encuentre referenciado en otra tabla a menos que hayas eliminado primero las filas referencia, es decir, primero eliminas las filas "hijas" y luego la fila "padre".

    Sin embargo, es posible indicar que las filas "hijas" se eliminen automáticamente cuando se elimine una fila "padre", esto dependerá del tipo de relación (fuerte o débil), por ejemplo, si tienes las tablas [CabeceraVenta] y [DetalleVenta] puedes definir una regla para que se eliminen las filas del detalle cuando se borre una fila de la cabecera, por ejemplo:

    ALTER TABLE DetalleVenta ADD CONSTRAINT FK_Detalle_idVenta FOREIGN KEY (idVenta) 
        REFERENCES dbo.DetalleVenta ON DELETE CASCADE;


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta GuilloFerrero miércoles, 26 de octubre de 2016 23:55
    miércoles, 26 de octubre de 2016 23:10
  • hola

    >>significa que para poder borrar un registro del la Tabla de ese ABM, tambine debo ir y borrar los Registros relacionados de la otra Tabla XXX?

    cuando creas una relacion enterwe tablas debes indicar como se comporta el cascade, pr defecto no afecta a las tablas relaciondas

    esto es si quiere definir la cascada de forma grafica con la tool del sql server

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta GuilloFerrero jueves, 27 de octubre de 2016 12:45
    jueves, 27 de octubre de 2016 3:56

Todas las respuestas

  • GuilloFerrero,

    Cuando relacionas dos tablas defines reglas de integridad referencial que exigen correspondencia de valores entre ambas tablas, por tanto, no puedes eliminar un valor de fila que se encuentre referenciado en otra tabla a menos que hayas eliminado primero las filas referencia, es decir, primero eliminas las filas "hijas" y luego la fila "padre".

    Sin embargo, es posible indicar que las filas "hijas" se eliminen automáticamente cuando se elimine una fila "padre", esto dependerá del tipo de relación (fuerte o débil), por ejemplo, si tienes las tablas [CabeceraVenta] y [DetalleVenta] puedes definir una regla para que se eliminen las filas del detalle cuando se borre una fila de la cabecera, por ejemplo:

    ALTER TABLE DetalleVenta ADD CONSTRAINT FK_Detalle_idVenta FOREIGN KEY (idVenta) 
        REFERENCES dbo.DetalleVenta ON DELETE CASCADE;


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta GuilloFerrero miércoles, 26 de octubre de 2016 23:55
    miércoles, 26 de octubre de 2016 23:10
  • lo pongo en practica...

    miércoles, 26 de octubre de 2016 23:55
  • hola

    >>significa que para poder borrar un registro del la Tabla de ese ABM, tambine debo ir y borrar los Registros relacionados de la otra Tabla XXX?

    cuando creas una relacion enterwe tablas debes indicar como se comporta el cascade, pr defecto no afecta a las tablas relaciondas

    esto es si quiere definir la cascada de forma grafica con la tool del sql server

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta GuilloFerrero jueves, 27 de octubre de 2016 12:45
    jueves, 27 de octubre de 2016 3:56
  • Efectivamnete, Leo, asi lo hice, fui hasta relaciones de Tabla e indique que se borren los registros relacionados de otra tablas, tambine, gracias, abrazos...
    jueves, 27 de octubre de 2016 12:46