Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Pancheska
3 / 3 / 2
Регистрация: 13.03.2010
Сообщений: 141
1

При добавлении записи в одну из таблиц БД - Foreign Key не прописывается автоматически

12.05.2013, 00:33. Просмотров 370. Ответов 0
Метки нет (Все метки)

Очень нужен совет и помощь!
Есть две таблицы в БД.
Одна с почтовыми индексами, другая с юзерами.
В таблице юзеров есть FK (=ZipID из таблицы почтовых индексов).
Как я себе представляю, что при добавлении записи адреса в таблицу юзеров при условии совпадения почт. индекса из первой таблицы, кроме адреса должен еще автоматически заполнятся поле FK с ZipID из первой таблицы.
Но этого не происходит.
Не пойму почему.
Вот часть кода:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 public class User
    {
        public int UserID { get; set; }
        public string Name { get; set; }
        public string ZipCode { get; set; }
        public string Country { get; set; }
        public string State { get; set; }
        public string City { get; set; }
 
        public ZipCode ZipID { get; set; }  //Foreign Key
 
        public User(string _Name, string _Zip, string _Country, string _State, string _City)
        {
            Name = _Name;
            ZipCode = _Zip;
            Country = _Country;
            State = _State;
            City = _City;
           
        }
    }
 
public class ZipCode
    {
        [Key]
        public int ZipID { get; set; }
        public string Zip { get; set; }
        public string Country { get; set; }
        public string State { get; set; }
        public string City { get; set; }     
 
        public ICollection<User> Users { get; set; }
    }
 
public class Addresses: DbContext
    {  
        public DbSet<ZipCode> Zips { get; set; }
        public DbSet<User> Users { get; set; }
    }
 
protected void btnSubmit_Click(object sender, EventArgs e)
        {
            if (IsValid)
            {
                ZipCode = txtbxZipCode.Text;
                Country = DDLCountry.Text;
                State = txtbxState.Text;
                City = txtbxCity.Text;
                Name = txtbxName.Text;
 
                Addresses dbAddresses = new Addresses();
 
                List<ZipCode> ZipC = (from z in dbAddresses.Zips
                                      where z.Zip == ZipCode
                                      select z).ToList();
 
                 for (int i = 0; i < ZipC.Count; i++)
                    {
                        if ((ZipC[i].Country.ToString() == Country) && (ZipC[i].State.ToString() == State) && (ZipC[i].City.ToString() == City))
                        {
 
                            User newUser = new User(Name, ZipCode, Country, State, City);
                            
                            dbAddresses.Users.Add(newUser);
                            dbAddresses.SaveChanges();                          
                        }
                        else
                        {
                            Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "1",
                            "<script>alert('Zip/Postal code doesn’t match region. Are you sure you want to save this data?');</script>");
                        }
                    }
                }
            }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2013, 00:33
Ответы с готовыми решениями:

При попытке заполнения таблиц через сторонний менеджер баз выскакивает ошибка "foreign key mismatch"
private const string path = @&quot;C:\klient.db3&quot;; private static...

При добавлении записи в БД происходит ошибка "violation of PRIMARY KEY constraint)"
Ребята, тут такая неразбериха, я по идее правильные ввожу данные, но почему то...

Постоянное обновление файла Excel при добавлении одной записи в одну ячейку из БД SQL
Здравствуйте. Почему то при передаче данных из базы в эксель документ...

Ошибка при INSERT. Нарушение FOREIGN KEY constraint.
Выползает вот такая ошибка: System.Data.SqlClient.SqlException: The INSERT...

Ошибка при INSERT: "Cannot add or update a child row: a foreign key constraint fails"
Здравствуйте. Задача- есть несколько дата грид вьюшек. в них отображаются...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2013, 00:33

foreign key (C#+SQL)
Здравствуйте. Ситуация такая. Два формы. Form1 и Form2. С Form1 данные...

Добавить данные в таблицу с Foreign Key
Проблема в следующем, не могу понять, как добавлять данные в таблицу в которой...

Конфликт инструкции INSERT с ограничением FOREIGN KEY
Конфликт инструкции INSERT с ограничением FOREIGN KEY &quot;FK_komnaty_klienty&quot;....


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru