none
Excepciones al guardar datos RRS feed

  • Pregunta

  • Hola Tengo la siguiente excepción al momento de guardar los datos de una persona en la base de datos del sistema

    Las excepciones son las siguientes

    System.Data.Entity.Infrastructure.DbUpdateException: 'An error occurred while updating the entries. See the inner exception for details.'

    UpdateException: An error occurred while updating the entries. See the inner exception for details.

    MySqlException: Cannot add or update a child row: a foreign key constraint fails (`stkdb`.`persona`, CONSTRAINT `per_tiene_lug_nac` FOREIGN KEY (`Cod_Lug_Nac`) REFERENCES `lugar_de_nacimiento` (`Cod_Lug_Nac`))

    El codigo que utilice es el siguiente

     using (STKDB context = new STKDB(conexion, false))
                                 {
                                     context.Database.UseTransaction(transaccion);
                                     List<persona> lst = new List<persona>
                                     {
                                         var.lstper
                                     };
                                     context.persona.AddRange(lst);
                                     context.SaveChanges();
                                 }
                                 transaccion.Commit();
                             }
                             catch
                             {
                                 transaccion.Rollback();
                                 throw;
                             }
                         }
                             var = fn.ObtenerVentana(this);
                             var.cedula =
                             var.pnombre = Txt_PNombre.Text;
                             var.snombre = Txt_SNombre.Text;
                             var.papellido = Txt_PApellido.Text;
                             var.sapellido = Txt_SApellido.Text;
                             var.edocivil = Cmb_Edo_Civil.Text;
                             string str = DP_Fecha_Nac.Text;
                             string[] substr = str.Split('/');
                             var.dianac = substr[0];
                             var.mesnac = substr[1];
                             var.añonac = substr[2];
                             var.paisnac = Txt_Pais_Nac.Text;
                             var.estadonac = Txt_Estado_Nac.Text;
                             var.ciudadnac = Txt_Ciudad_Nac.Text;
                             var.profesion = Cmb_Profesion.Text;
                             Dts_Personales.Visibility = Visibility.Hidden;
    
                        fn.CrearInstancia(this, "view11", 11);
                    };
                    stb.Begin();

    jueves, 27 de diciembre de 2018 23:28

Todas las respuestas

  • hola

    por lo que entiendo del codigo parece ser qe el problema esta cuando creas personas

    context.persona.AddRange(lst);

    lo que no entiendo de ese codigo es de donde sale " var.lstper", esta muy raro

    lo que indica el mensaje es que hay un problema con la relacion entre la persona y el Cod_Lug_Nac, podrias validar que ese dato que asignaste exista en la tabla de relacion

    podrias poner un breakpoint en el codigo para ver que valor toma ese Cod_Lug_Nac

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 27 de diciembre de 2018 23:41
  • Hola, parece que no estableces el lugar de nacimiento en tu entidad de persona. Revisa tu bbdd ya que seguro tienes una restricción de ello. Necesitas establecerlo para crear la entidad. 

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    • Propuesto como respuesta Sergio Parra martes, 19 de febrero de 2019 16:36
    viernes, 28 de diciembre de 2018 10:47