3 / 3 / 0
Регистрация: 21.05.2016
Сообщений: 301
|
||||||
1 | ||||||
Как правильно обработать ошибку?23.12.2017, 16:00. Показов 816. Ответов 13
Метки нет (Все метки)
здравствуйте, есть такая проблема.
есть три таблицы и одним кликам делается запрос, проблема в том что не знаю как обработать ошибку если один из трёх таблиц выдает ошибку при выполнение кода. вопрос в том что как обработать ошибку, если хотя бы один запрос не выпальница не должна выполняться не адна. вот допустим пример:
0
|
23.12.2017, 16:00 | |
Ответы с готовыми решениями:
13
Как обработать ошибку ввода в маску обработать ошибку Как правильно обработать ошибку urlib2 (urlopen) Как правильно обработать ошибку соединения _ConnectionPtr Open |
3 / 3 / 0
Регистрация: 21.05.2016
Сообщений: 301
|
|
23.12.2017, 18:27 [ТС] | 3 |
0
|
3 / 3 / 0
Регистрация: 21.05.2016
Сообщений: 301
|
|
23.12.2017, 18:33 [ТС] | 5 |
ато если первый второй запрос исполнится а третьи нет то это очень плохо отразится на программу
Добавлено через 34 секунды ok спасиба
0
|
3 / 3 / 0
Регистрация: 21.05.2016
Сообщений: 301
|
||||||
26.12.2017, 23:15 [ТС] | 7 | |||||
эта знаю это не проблема,
проблема в том что если верхние выполнится а послед нет эта очень плохо отразится на результат на всё Добавлено через 5 минут я ищу думаю не знаю как с такой проблемы боротся или все или не одна Добавлено через 5 минут а подождите ка а если вот так сделать
вот так или все выполняется или не одна и прав ? Добавлено через 3 минуты толка там и insert и update
0
|
222 / 66 / 33
Регистрация: 23.05.2014
Сообщений: 715
|
|||||||||||
27.12.2017, 08:37 | 9 | ||||||||||
Интересно, конечно. А если попробовать блок try.. except?
Добавлено через 1 час 20 минут А еще лучше будет совместить конструкции BeginTrans (BeforeStartTransaction для FireDAC) и RollbackTrans (Rollback для FireDAC) Например:
1.Разделить запросы. Т.е. для каждого запроса свой ExecSQL. 2. Отловить момент, на каком этапе у вас вылетает исключение и создать условия для отката/останова выполнения процедуры. Для первого запроса - просто выход из процедуры. Для второго - откат изменений для выполненного первого запроса + выход, для третьего - соответственно откат выполненных предыдущих запросов. Ну как-то так.
0
|
27.12.2017, 13:28 | 10 |
а мне кажется (ИМХО) что лучше ошибки SQL обрабатывать в SQL
написать весь код в SQL, обрабатывать ошибки, извне только принимать параметры, наружу выдавать результат
0
|
222 / 66 / 33
Регистрация: 23.05.2014
Сообщений: 715
|
|
27.12.2017, 15:00 | 11 |
0
|
97 / 97 / 25
Регистрация: 25.04.2016
Сообщений: 525
|
|
27.12.2017, 15:26 | 12 |
А можно просто собрать все три запроса в один.
Если это MSSQL то и обработку исключений можно сделать непосредственно внутри запроса.
0
|
3 / 3 / 0
Регистрация: 21.05.2016
Сообщений: 301
|
|
27.12.2017, 18:19 [ТС] | 13 |
drvolodko, такой вариант умения паследни, если ничего не получится по другому.
всекции except напишу запрос на откат но только без этих (BeginTrans, RollbackTrans,cancelUpdates) потому что их смысл не понимаю, как простым запросам делаю insert и update и аткат тоже так сделаю.но это тогда когда другого выхода не будет. qwertehok, пожалуйста я не против но хотя бы маленький пример вот так что была буду благодарен. по моему вы про хранимые процедуры говорите. и ошибку phpmyadmin лучше меня абработает канешна. MyEternity, нет это mySQL
0
|
27.12.2017, 18:58 | 14 |
при чем тут phpMyadmin?
это внешняя смотрелка, она ошибки не обрабатывает вам пример лучше подсмотреть в ветке по MySQL
0
|
27.12.2017, 18:58 | |
27.12.2017, 18:58 | |
Помогаю со студенческими работами здесь
14
Как обработать ошибку Как правильно обработать исключение ? Как правильно обработать столкновения? Как правильно обработать сообщение? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |