|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
|||||||||||
Как обработать исключение Duplicate entry(MySql)19.07.2023, 16:33. Показов 3740. Ответов 69
Метки нет (Все метки)
Есть у меня функция для sql запроса в базу, например такая:
Вопрос в том можно ли как-то обработать это исключение без дополнительного проверочного запроса?
0
|
|||||||||||
| 19.07.2023, 16:33 | |
|
Ответы с готовыми решениями:
69
Как в EF пропускать исключения дубликатов MySqlException: Duplicate entry '1-4' for key 'PRIMARY'
MySQL Error! Duplicate entry '1' for key 'user_id_2' |
|
|
|||||||
| 20.07.2023, 17:16 | |||||||
try .. catch
И еще на command Dispose() нужно вызывать в finally
1
|
|||||||
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,721
|
|
| 20.07.2023, 17:35 | |
|
Andrey-MSK, а зачем так заморочено? Почему не
TransactionScope?
1
|
|
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
||||||
| 20.07.2023, 17:39 [ТС] | ||||||
|
Andrey-MSK, Понял, я пробовал command.Dispose() вызывать в finally, но там command просто не видно, ну только, если их вот так объявлять глобально с пустым констркутором в начале:
0
|
||||||
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,721
|
||||||
| 20.07.2023, 17:49 | ||||||
|
firnen_dragon, что-то ты переусложнил всё.
firnen_dragon, только я настоятельно рекомендую использовать параметрические запросы, а не конкатенацию.
2
|
||||||
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
|
| 20.07.2023, 17:56 [ТС] | |
|
Usaga, Понял, принял посмотрю, учту, спасибо
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 20.07.2023, 18:20 | |
|
0
|
|
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
|
| 21.07.2023, 09:19 [ТС] | |
|
kolorotur, name - берется из OpenFileDialog(тобеж это просто название файла без расширения), а description - да тоже вводится пользователем
0
|
|
|
|
|
| 21.07.2023, 09:29 | |
|
Нашел статейку по TransactionScope - Инфраструктура System.Transactions в мире .NET
1
|
|
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
||||||
| 21.07.2023, 10:17 [ТС] | ||||||
|
Andrey-MSK, кстати, чтоб command.Dispose() не вызывать в finaly можно в принципе команды в юзинг обернуть и убрать catch (MySqlException mysqlEx), потомоу что Exception вроде как все исключения отлавливает в том числе и связанные с MySql:
0
|
||||||
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,721
|
|
| 21.07.2023, 10:26 | |
|
firnen_dragon, я вроде бы пример привёл более лаконичный) Где портянка catch'ей с finally в конце не нужны)
1
|
|
|
|
||||
| 21.07.2023, 10:29 | ||||
![]()
1
|
||||
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
|
| 21.07.2023, 10:41 [ТС] | |
|
Usaga, Да у меня просто огромный класс для работы с MySql где куча подобных методов, которые я уже вчера начал переписывать по подобию тех примеров которые привел Andrey-MSK, и я там вроде понял как все работает, ваш пример я тоже разобрал, но в нем мне не все понятно пока, например тоже не понял почему не нужен try-catch и как в таком случае отлавливаются исключения.
0
|
|
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,721
|
||
| 21.07.2023, 11:01 | ||
|
0
|
||
|
|
||||||
| 21.07.2023, 11:14 | ||||||
|
Usaga, Хмммм.... Ну вроде как проще сделать на месте
0
|
||||||
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,721
|
|
| 21.07.2023, 11:21 | |
|
Andrey-MSK, и это надо будет везде, где есть обращения к СУБД?) А если забыли?) Не проще вообще этого не делать нигде, кроме одного места?)
Более того: практическая польза этого кода какая, если он просто перевыбрасывает исключения, теряя при это часть стека вызовов?)
0
|
|
|
|
|
| 21.07.2023, 11:30 | |
|
0
|
|
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
|
| 21.07.2023, 11:35 [ТС] | |
|
Usaga, Это получается я могу написать подобным образом как вы показали здесь?https://learn.microsoft.com/en... ew=net-7.0 в APP (если речь о WPF) и все исключения со всего приложения будут попадать туда? звучит как очень мощное заклинание
1
|
|
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,721
|
|
| 21.07.2023, 11:39 | |
|
Andrey-MSK, firnen_dragon, речь об этом: https://learn.microsoft.com/en... ew=net-7.0
Добавлено через 1 минуту Есть ещё такое событие, из той же оперы: тыц
2
|
|
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
|
| 21.07.2023, 11:40 [ТС] | |
|
Тут вот во втором ответе для wpf(в APP) перехват глобальный реализован:https://stackoverflow.com/ques... pplication
Интересно конечно
0
|
|
|
|
|
| 21.07.2023, 11:42 | |
|
firnen_dragon, Хмммм, итерееесноооо... Но придется писать несколько вариантов Exception (можно наверное через switch попробовать) в методе перехвата, для SQL, Application ну и что там ещё надо. Что-бы выдавала красивые сообщения, согласно возможностей исключения...
0
|
|
| 21.07.2023, 11:42 | |
|
Duplicate entry SqlExceptionHelper.logExceptions Duplicate entry Duplicate entry '28' for key 'id_u' 'Duplicate entry '0' for key 'PRIMARY'' Ошибка Duplicate entry '10' for key 1 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|