![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Что бы такое raise'нуть?..
Чапаев © (2006-11-14 12:57:00)...при попытке записи в read-only поле?
MsGuns (2006-11-14 20:21:00) [1]>Anatoly Podgoretsky © (14.11.06 13:21) [5]
>..возбудить исключение.
Поручик, молчать !
Чапаев (2006-11-14 13:25:00) [2]> [6] Anatoly Podgoretsky © (14.11.06 13:22)
Да, уже... Ничего лучше EDatabaseError не нашёл. Всё, вопрос снимается.
Anatoly Podgoretsky (2006-11-14 13:22:00) [3]> Чапаев (14.11.2006 13:17:04) [4]
Модуль DB и другие, что рядом поставляются в исходных кодах, можно посмотреть.
Anatoly Podgoretsky (2006-11-14 13:21:00) [4]> Чапаев (14.11.2006 12:57:00) [0]
Ну так обычно говорят в подворотне, наши говорят не raise'нут, а возбудить исключение.
Чапаев (2006-11-14 13:17:00) [5]> [3] ЮЮ © (14.11.06 13:15)
Да в общем реализую своего наследника TDataSet, серверы-апдейты и прочие высокие материи неуместны. Просто изобретая этот велосипед, не хочется изобретать велосипед и в создании своего Exception'а. ;-)
ЮЮ (2006-11-14 13:15:00) [6]
> В хелпе о RAISERROR ничего нету.
Защищаться надо на сервере, а не в приложении. Это в INSTEAD OF UPDATE триггере для MS SQL :)
А причем здесь Базы? В приложении в ReadOnly поле TDataSet-а разве можно записать что-то?
Чапаев (2006-11-14 13:05:00) [7]Хм... В хелпе о RAISERROR ничего нету.
Вообще, конечно, я могу сделать raise Exception.Create('Попытка записи в поле только для чтения'), но я надеюсь, есть какой-нибудь стандартный наследник Exception, созданный для этих целей?
ЮЮ (2006-11-14 13:01:00) [8]RAISERROR('U_WorkPlans_OnUpdate: Field [ID] cannot be modified by a non-privileged user', 16, 1)
RAISERROR('U_WorkTerms_OnUpdate: Field [ID] cannot be modified by anyone', 16, 1)