Ошибка при вставке данных с использованием модели представления - PullRequest
0 голосов
/ 06 апреля 2020

Я создаю веб-страницу для регистрации нового студента. Для того, чтобы зарегистрировать студента, мы должны предоставить данные по 4 объектам (таблицы). Это материнский стол, папиный стол, контактный стол и ученический стол. Я создал модель представления, включив все поля вышеупомянутых объектов, и попытался вставить данные или зарегистрировать студента. Мой код работает хорошо. Но когда я регистрирую ученика одного из родителей, который уже зарегистрировался, я буду вводить данные только для двух таблиц ученик и контактное лицо. Я разработал логи c и пытаюсь передать данные, но они не работают и возникают;

"SqlException: строка или двоичные данные будут усечены. Оператор завершен". Могу ли я узнать, какую ошибку я совершил?

Мой код лога c Вставки выглядит следующим образом:

        public ActionResult  Insert(StudentRegVM std)
        {
            using (_context) {  
                if (! (std.IsExist == "T")) //checks, are parents exist? or not
                { // this block works for new parents only
                    var m = new Mother();
                    var f = new Father();
                    m.NIC = std.NIC;
                    m.FName = std.FNameM;
                    m.DOB = std.DOBM;
                    m.Job = std.Job;
                    m.Office = std.Office;
                    m.Race = std.RaceM;
                    m.Religion = std.ReligionM;
                    m.Tel_Mob = std.Tel_Mob;
                    m.Tel_Off = std.Tel_Off;
                    f.NIC = std.NICF;
                    f.FName = std.FNameF;
                    f.DOB = std.DOBF;
                    f.Job = std.JobF;
                    f.Office = std.OfficeF;
                    f.Race = std.RaceF;
                    f.Religion = std.ReligionF;
                    f.Tel_Mob = std.Tel_Mob_F;
                    f.Tel_Off = std.Tel_Off_F;
                    _context.Add(m);
                    _context.Add(f);
                }
                var c = new ContactPerson();
                var s = new Student();
                c.Address = std.AddressCP;
                c.Name = std.NameCP;
                c.Relationship = std.Relationship;
                c.Tel = std.TelCP;
                c.Tel2 = std.Tel2CP;
                s.Add_No = std.Add_No;
                s.DateOfAdd = std.DateOfAdd;
                s.GradeOfAdd = std.GradeOfAdd;
                s.House = std.House;
                s.F_Name = std.F_Name;
                s.S_Name = std.S_Name;
                s.DOB = std.DOB;
                s.Race = std.Race;
                s.Religion = std.Religion;
                s.BloodGroup = std.BloodGroup;
                s.Tel_H = std.Tel_H;
                s.Address = std.Address;
                s.GND = std.GND;
                s.OtherDetails = std.OtherDetails;
//foriegn keys
                s.FatherId = std.NICF;
                s.MotherId = std.NIC;
                s.ContactPersonId = std.TelCP;
                s.ClassId = std.ClzId;  
//feeding data
                _context.Add( s);
                _context.Add(c);
                _context.SaveChanges();                                 
            }
            return RedirectToAction("Index");

        }

1 Ответ

0 голосов
/ 06 апреля 2020

Проверьте размеры ваших параметров по размерам столбцов, и соответствующие поля должны быть видны довольно быстро.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...