Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C# чтением записи из БД SQL Server http://www.cyberforum.ru/ado-net/thread861982.html
Здравствуйте, Не могу понять в чем проблема. Пытаюсь прочитать запись из таблицы Owner (ID, Name, Passport, INN, Phone), но на этапе выполнения мне выдает ошибку в строке "SqlDataReader reader =...
C# Выполнение запросов после создания БД Подключаюсь к серверу: conn = new SqlConnection("Data Source=LAPTOP\\SQLEXPRESS;User ID=sa;Password=qwerty"); Создаю базу с помощью CREATE DATABASE, сразу после этого выполняю запрос на создание... http://www.cyberforum.ru/ado-net/thread861770.html
Узнать данные шифрования C#
Добрый день. Помогите, пожалуйста, с вопросом. Есть БД в SQL Server 2008. Мне для работы нужно узнать каким алгоритмом зашифрованы пароли пользователей и где хранится мастер-ключ (просто нужно...
C# Контроль ввода данных в DataGridView
Хотелось бы сделать следующее: 1. Запретить непосредственный ввод данных в поле даты и разрешить ввод данных только из календаря 2. Проверить значении, вводимое в числовое поле, и заменить...
C# ComboBox не обновляются значения http://www.cyberforum.ru/ado-net/thread861485.html
Значения, добавляемые в таблицу БД, не отображаются в Combobox,значения которого берутся из таблицы БД. Как обновить? Приложение с вкладками на одной выбираем в combobox значения (они взяты из...
C# Как проверить открыта ли БД? Пока имеется решение (костыль) из серии: лучший способ проверить открыта ли БД - это попытаться с ней что-нибудь сделать. Мне важно, чтобы БД была закрыта. На данный момент, я проверяю и использую... подробнее
Pancheska
3 / 3 / 2
Регистрация: 13.03.2010
Сообщений: 141
0

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

12.05.2013, 00:33. Просмотров 380. Ответов 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>");
                        }
                    }
                }
            }


Вернуться к обсуждению:
При добавлении записи в одну из таблиц БД - Foreign Key не прописывается автоматически
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 SQLiteConnection connect =...

Ошибка Key Violation при добавлении записи в БД
Подскажите, пожалуйста, кто знает. В БД при добавлении записи появляется ошибка Key Violation. Не...

Join 2-х таблиц без foreign key
class Feedback(models.Model): id = models.BigAutoField(primary_key=True) user_id =...

Объединение таблиц по двум foreign key
Помогите правильно сформировать запрос. Есть 2 таблицы: услуги и пользователи. В таблице &quot;услуги&quot;...

Ошибка при добавлении записи в таблицу: Duplicate entry '' for key
У меня есть таблица user и пара колонок в ней под именем color1, color2 вобщем нужно добавить...

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