Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
12 / 12 / 1
Регистрация: 18.06.2011
Сообщений: 434
1

Как добавить несколько значений в таблицу?

12.10.2017, 08:42. Показов 680. Ответов 0

Author24 — интернет-сервис помощи студентам
Есть три таблицы в базе -
C#
1
Админы, Заявки, МТРы
. У одного админа множество заявок, а у одной заявки множество МТР(материально технических ресурсов)

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public partial class Заявки
    {
        public Заявки()
        {
            this.МТРы = new HashSet<МТРы>();
        }
 
        public int Код { get; set; }
        public string ФИО { get; set; }
        public Nullable<int> Код_Админа { get; set; }
        public string Наличие { get; set; }
        public virtual Админы Админы { get; set; }
        public virtual ICollection<МТРы> МТРы { get; set; }
    }
 
 
     public partial class Админы
    {
        public Админы()
        {
            this.Заявки = new HashSet<Заявки>();
        }
 
        public int Код { get; set; }
        public string Пользователи { get; set; }
        public virtual ICollection<Заявки> Заявки { get; set; }
    }
 
     public partial class МТРы
    {
        public int Код { get; set; }
        public string Мтр { get; set; }
        public Nullable<int> Код_Заявки { get; set; }
        public virtual Заявки Заявки { get; set; }
    }
Есть также listbox в котором содержатся список МТРы. Я пытаюсь программно добавить данные

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using (HardwareEntities db = new HardwareEntities())
            {
                var admin = db.Админы.Where(x => x.Код == currentiserId).FirstOrDefault();
 
                db.Заявки.Add(new Заявки
                {
                    ФИО = fioBox.Text,
                });
 
                    for (int i = 0; i < listBox1.Items.Count; i++)
                    {
                        db.МТРы.Add(new МТРы { Мтр = listBox1.Items[i].ToString() });
                    }
                db.Админы.Add(admin);
                db.SaveChanges();
 
            }
Если в listbox1 элементов = 1, то все работает четко, однако если элементов несколько при сохранении выдает ошибку

C#
1
2
SqlException: Не удается вставить повторяющуюся строку ключа в объект "dbo.МТРы" с уникальным индексом "KEY_МТРы_Код_Заявки". Повторяющееся значение ключа: (<NULL>).
Выполнение данной инструкции было прервано.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2017, 08:42
Ответы с готовыми решениями:

Как одновременно добавить несколько строк в таблицу Access?
А возможно одновременно добавить несколько строк в таблицу Access? например как при вставке в...

Как добавить данные в таблицу?
Здравствуйте господа форумчане 1) как перенести данные из одной таблицы в другую??? 2) как...

Как добавить таблицу в модель?
Используется: - VS-2017 - Win 7x64; - MS Sql Server 2012; - EntityFramework - 6.2.0; ...

Как добавить таблицу в БД (запрос)
у меня есть форма и таблица,подскажите пожалуйста какие команды надо прописать в кнопке &quot;добавить в...

0
12.10.2017, 08:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2017, 08:42
Помогаю со студенческими работами здесь

Как получить с ХП несколько значений?
Всем привет! Возник вопрос, у меня таблица users, roles, и есть ХП котороя делает выборку, но мне...

Как добавить данные в таблицу MS SQL?
Всем доброго времени суток! Суть такая: есть форма 1(первое вложение) По нажатии кнопки...

Как добавить данные в Таблицу локальной БД
Добрый день! Подскажите как мне добавлять данные в таблицу(с полями Name,Nic,password)? Пробовал...

Как добавить строки в таблицу MS Access
Здравствуйте всем , подскажите как в таблице access добавить строки. То есть у меня так , я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru