![]() |
|
Модераторы: gambit |
![]()
|
|
| shuttle |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 9.4.2008 Репутация: нет Всего: нет |
При добавлении новой записи в таблицу есть есть вероятность что продублируется ключевое значение - следовательно вылетит исключение, как можно это перехватить.
Или проверять все записи предварительно перед добавлением? --------------------
|
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 8 Всего: 118 |
Вы используете длинные транзакции? Или что? Т.е. как вы генерируете ключ? Если база генерирует то ошибок быть не может. Если же сами - то зависит от того что вы хотите при наличии дубликата ключа: ошибку или новый ключ без ошибки.
В любом случае Exception-ы ловятся с помощью catch инструкции -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| shuttle |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 9.4.2008 Репутация: нет Всего: нет |
Что то мало информации в вопросе (в первом посте) отобразил.
Делаю так
Иногда срабатывает нормально, иногда нет(пользователь может что угодно добавить в БД) вот тогда и велетает исключение. А зачем проверять все записи на поиск дублирующей, если ислючение и так мне об этом скажет. --------------------
|
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 8 Всего: 118 |
shuttle, ну обычно в вашем случае база сама генерирует PK используя например автоинкремент. Не долджно быть в этом случае ошибок-то
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| Fyrklod |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 17.10.2006 Репутация: нет Всего: 1 |
shuttle, а какое СУБД используете?
если мускул, то как смотрите на "Insert Ignore" вместо стандартного "Insert" добавления? "Insert Ignore" если натыкается на уже существующее по уникальности значение, просто заменяет его (если конечно ваша задача это разрешает) --------------------
Зачем компьютеры пищат, когда нажимаешь сразу много клавиш? Чтобы будить уснувших на клавиатуре программистов! |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |