![]() |
|
Модераторы: gambit |
![]()
|
|
| defender777 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 17.11.2009 Репутация: нет Всего: нет |
Здравствуйте.
Проблема есть такая: На форме DataGridView,DataSet,BindingSource,BindingNavigator В DataSet единственный DataTable у него единственный Constraint (primary) На одно поле Например Name.Его можно изменять, но при нарушении этого Constraint Нужно отловить исключение и сообщить пользователю, что такое значение в Name уже есть Где и как обрабатывать исключения возникающие в Constraint,в случае когда работа происходит внутри компонентов в связке DataGridView,DataSet,BindingSource,BindingNavigator. (System.Data.Table.ConstraintException) Спасибо. |
|||
|
||||
| KuMa1104 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: 1 Всего: 3 |
Лучше чтоб их вообще небыло. А вообще try, catch, finali Добавлено @ 20:13 defender777 исключения сами посебе очень медленно обрабатываються. Кроме того ИМХО практически всегда можно обойтись без них. Это сообщение отредактировал(а) KuMa1104 - 17.11.2009, 20:14 -------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
| defender777 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 17.11.2009 Репутация: нет Всего: нет |
Да конечно понятно что в Primary полях нужно добиваться уникальности и решать это на сервере
и использовать там тип int (хотя в теории это вовсе не обязательно) Но как быть с Unique? Ведь это свойство поля в DataTable для того и устанавливается чтоб ОБЕСПЕЧИТЬ уникальность вводимых туда данных. Да оно и обеспечивает, только жестко пишет свое при возникающих ошибках. Да скажите вы используй try catch finally и лови там свои exceptions. Но постойте, а как же компонентная модель? Это же непоколебимый принцип. Да конечно во всех книжках мы видим как удобно соединять компоненты DataGridView,DataSet,BindingSource,BindingNavigator все отлично скорость торжествует. Но где тогда обрабатывать исключения? Как? Где в компонентах такая возможность? Выходит все принципы (удобные бесспорно) не обеспечены в самом каркасе ADO.NET? Что тогда уж спрашивать с рядовых. Или вообще получается лучше писать свой фреймворк? (текущий же не поправишь) Поправьте меня если не прав. Спасибо. |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 5 Всего: 306 |
ключевое поле и уникальное - это не сколько разные вещи камрад. Не стоит их путать. С первого захода сложно понять о чем суть, но тем не менее исключение - это скажем так - крайность. Любую неоднозначность должен решать программист. Не правильный подход - накидать всякой дичи, а затем заключить все это в тело исключения и возрадоваться. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |