Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
3 / 2 / 2
Регистрация: 21.03.2017
Сообщений: 297
SQLite

Проблема с SQLite - после исключения не добавляются данные в таблицу

30.11.2020, 09:03. Показов 1628. Ответов 2

Студворк — интернет-сервис помощи студентам
Есть такой код:
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
                using StreamReader streamReader = new StreamReader(FileName, System.Text.Encoding.Default);
                try
                {
                    // пропускаем строку с заголовками
                    string line = streamReader.ReadLine();
 
                    // перебираем оставшиеся строки
                    while ((line = streamReader.ReadLine())!= null)
                    {
                        string[] parts = line.Split(';');
                        NotificationNumber notificationNumber = new NotificationNumber
                        {
                            Provider = parts[ProviderIdx],
                            Number = parts[NumberIdx],
                            IsLoaded = false
                        };
                        try
                        {
                            _appDbContext.NotificationNumbers.Add(notificationNumber);
                            await _appDbContext.SaveChangesAsync();
                        }
                        catch (Exception ex)
                        {
                            _logger.LogError($"Ошибка сохранения в БД. Номер заявки {notificationNumber.Number}.", ex);
                        }
                    }
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Ошибка чтения из файла {FileName}.", ex);
                }
Проблема вот в чём: если было выброшено исключение из-за дубликата, то после этого, несмотря на то, что исключение обработано, уже данные не добавляются в таблицу - всё время выбрасывается исключение о нарушении уникальности ключа.
Почему так получается? И как это можно исправить?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.11.2020, 09:03
Ответы с готовыми решениями:

Не добавляются данные в таблицу через форму после обновления Apache, PHP
добрый вечер. У меня такая проблема. Был установлен у меня TopServer 2.1 нормально работало выполнение запросов через html форму к базе...

Не добавляются данные в таблицу
Толи лыжи не едут, то ли я не туда смотрю... Всем привет! С утра ищу подвох и не могу найти:wall:. Может кто подскажет? <!DOCTYPE...

Не добавляются данные в таблицу БД
Ребята! Помогите! Вставляю данные из формы в таблицу MYSQl, но ничего не происходит! Уже и так и сяк пробовал, и примеры смотрел! Таблицы...

2
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,898
Записей в блоге: 1
30.11.2020, 09:21
Лучший ответ Сообщение было отмечено Abejon как решение

Решение

Abejon, видимо потому что объект остался в коллекции NotificationNumbers со статусом Added. Попробуйте отсоединить объект о контекста в случае исключения. Примерно так
C#
1
dbContext.Entry(entity).State = EntityState.Detached;
1
3 / 2 / 2
Регистрация: 21.03.2017
Сообщений: 297
30.11.2020, 10:04  [ТС]
Спасибо, дружище! Сработало!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.11.2020, 10:04
Помогаю со студенческими работами здесь

Данные не добавляются в таблицу
row = -1 for i in range(len(self.result)): row += 1 col = 0 for j in self.result: ...

Не добавляются данные в таблицу
$AddQuery = "INSERT INTO `IndividalLearnRequest` SET `Surname`='".$Surname."' `Name`='".$Name."' `Patronymic`='".$Patronymic."'...

Не добавляются данные в таблицу
Всем доброго времени суток. В локальной базе данных я создал таблицу изменений для синхронизации после с сервером. В ней всего две колонки...

Не добавляются данные в таблицу
БД: DataBase Мне нужно чтоб производил поиск по таблицы из ComboBox, если данные есть, то существующие удалялись, а новые добавлялись....

Не добавляются данные в таблицу
Здраствуйте форумчане. Подскажите пожалуйста почему у меня не добавляются данные в таблицу? $host="localhost"; ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru