Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/34: Рейтинг темы: голосов - 34, средняя оценка - 4.68
4 / 4 / 1
Регистрация: 16.09.2012
Сообщений: 119
1

Вылезает ошибка при записи данных в Базу после рендеренга View

27.09.2013, 18:59. Показов 7078. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!

У меня такая странная проблема:

Я пишу данные в базу MSSQL (При помощи Entity Framework, DbContext), данные записываются нормально, затем даже отрисовывается View, но спустя 2 секунды, вылезает Exception (DbUpdateException - "При обновлении записей произошла ошибка. Подробные сведения см. во внутреннем исключении").

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public ActionResult Main () {
 
            Database.SetInitializer<EFDbContext> (null);
            EFDbContext context = new EFDbContext (); // EFDbContext : DbContext (Entity Framework)
 
            Article a = new Article () {
                    //Initialize...
            };
 
            context.Articles.Add (a);
            context.SaveChanges ();
 
            return View ();
 
}
Плз помогите разобраться в этой странной проблеме.

Добавлено через 21 минуту
Изучил Внутреннее исключение и понял, что почему-то данные пишутся в базу 2 раза. И Id увеличивается на 2 единицы, а не на 1, как должен.

"Violation of UNIQUE KEY constraint 'UQ__Articles__014935CB'. Cannot insert duplicate key in object 'Articles'.\r\nThe statement has been terminated."
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2013, 18:59
Ответы с готовыми решениями:

Ошибка при записи в базу данных
Гдето не допонимаю объясните сильно не ругайтесь я новичок в делфи procedure...

Пытаюсь добавить записи в базу данных.После добавления 5-7 записей вылетает ошибка.
Уважаемые коллеги. Проблема следующая. Пытаюсь добавить записи в базу данных.После добавления 5-7...

Ошибка при добавлении записи в базу данных
При добавлении записи в базу возникает ошибка. Помогите разобраться. const String ConnStr =...

Фантастическая ошибка при записи в базу данных PostgreSQL
Фантастичность ошибки записи, что идет раздвоение через if. Одна ветвь при одном значении, другая...

3
96 / 89 / 29
Регистрация: 05.03.2010
Сообщений: 231
29.09.2013, 02:21 2
Цитата Сообщение от thedriveee Посмотреть сообщение
Violation of UNIQUE KEY constraint 'UQ__Articles__014935CB'. Cannot insert duplicate key in object 'Articles'.\r\nThe statement has been terminated."
поставте
SQL
1
2
IDENTITY 
INCREMENT = 1
этому полю, он не может вам згенерить следующий уникальный ID и вставляет запись с одинаковым ID что недопустимо так как у вас уже проставлен UNIQUE KEY для этого поля

Цитата Сообщение от thedriveee Посмотреть сообщение
почему-то данные пишутся в базу 2 раза
тут уже нужно код смотреть, вариантов много, либо AJAX событие срабатывает два раза т.к. вы повесили два раза click событие и т.д.
1
4 / 4 / 1
Регистрация: 16.09.2012
Сообщений: 119
29.09.2013, 11:12  [ТС] 3
Цитата Сообщение от Refactor Посмотреть сообщение
...
Ситуация немного другая - Exception вылезает только в Visual Studio, при заливке на сервер никаких Exception'ов не вылезает, скрипт отрабатывает нормально. View рисуется нормально.

Поле Id IDENTITY и INCREMENT обычно +1, если писать прямым SQL запросом. Но там есть другое поле, на которое он ругается, вот оно UNIQUE. Данные пишутся 1 раз, 2-й запрос не проходит. Такое чувство, что одновременно уходят 2 запроса и почему-то не проходит 1-й =)


Весь необходимый для понимания код я выложил сюда в 1-м посте. Это просто скрипт для тренировки, он ничего особенного не делает, а просто, отрабатывая, пишет данные в БД и рисует стандартную View.
0
96 / 89 / 29
Регистрация: 05.03.2010
Сообщений: 231
29.09.2013, 15:21 4
Цитата Сообщение от thedriveee Посмотреть сообщение
Ситуация немного другая - Exception вылезает только в Visual Studio, при заливке на сервер никаких Exception'ов не вылезает
если вы видите exception в visual studio, то он также должен возникать и на сервере, просто вы его там не видете, но IIS все пишет в лог

Цитата Сообщение от thedriveee Посмотреть сообщение
Такое чувство, что одновременно уходят 2 запроса и почему-то не проходит 1-й =)
к сожалению не могу ничего сказать, нужно смотреть по месту
1
29.09.2013, 15:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2013, 15:21
Помогаю со студенческими работами здесь

Ошибка при записи данных в базу из-за ограничений в структуре базы
Имеется база Access В базе определены несколько обязательных полей которые не должны быть...

Ошибка при попытке добавления записи в базу данных (MySQL)
Qt 4.8.5, MySQL Community Server (mysql-5.5.23-win32.msi). Собрал драйвер под 10 студию (gmake,...

Ошибка java.lang.NullPointerException при добавлении записи в базу данных
Здравствуйте! Подскажите, пожалуйста, почему 15-ая строка возвращает нулевое значание? Что не так?...

Ошибка при внесении записи в базу данных (вложенный запрос вернул больше одного значения)
Когда вношу новую запись, возникает ошибка: Вложенный запрос вернул больше одного значения. Это...


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

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