|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.08.2015, 08:16 | #1 |
Пользователь
Регистрация: 02.03.2015
Сообщений: 50
|
Проверка существующей записи из бд
Добрый день! Подскажите пожалуйста,как и где прописать проверку существующей записи перед добавлением новой записи.
Например,в бд есть запись № заказа 02619, Группа 123, Цех 01 и Номер 00, вот человек набирает данные(при этом не зная,что такая запись существует) ,нажимает на кнопку Записать новый документ и появляется сообщение "Такой номер существует,введите новый номер" и он вводит номер не 00,а 01 или 02(неважно,главное не повторялось). Существующие записи в бд: Безымянный1.JPG а эта форма,которую будем записывать новую запись. Безымянный.jpg а вот событие кнопки. Код:
Подскажите пожалуйста. Спасибо. Последний раз редактировалось Stilet; 28.08.2015 в 08:41. |
28.08.2015, 08:42 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А может тебе стоит сделать то поле автоинкрементным?
I'm learning to live...
|
28.08.2015, 09:26 | #3 |
Пользователь
Регистрация: 02.03.2015
Сообщений: 50
|
|
28.08.2015, 09:31 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Автоинкремент не поможет здесь, нужно запросом проверять при записи. Полной гарантии при многопользовательской работе не будет. Сделать еще составной уникальный индекс, как альтернативный ключ. При создании предварительно запросом определить следующий неиспользованный номер и предложить его юзеру. Нули не значащие зачем? Можно показывать только при отображении, тогда поле цифровое
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 28.08.2015 в 09:38. |
28.08.2015, 10:24 | #5 |
Регистрация: 18.04.2013
Сообщений: 4
|
Я у себя в программе делаю примерно так
Код:
|
28.08.2015, 10:35 | #6 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Данная задача решается путём настройки индексов в БД, чтобы в принципе в БД нельзя было записать дубликаты, пустые строки и т.д. и т.п.
При записи в БД нужно тупо ловить исключения (try catch). Если всё протекло хорошо, значит записалось. Если вывалилась ошибка, то что-то пошло не так. И да. Вот такие места в программе: Код:
|
28.08.2015, 11:02 | #7 |
Участник клуба
Регистрация: 10.08.2010
Сообщений: 1,392
|
E_MAIL: rijgvina7@yahoo.com
|
31.08.2015, 03:55 | #8 | |
Пользователь
Регистрация: 02.03.2015
Сообщений: 50
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверка уникальности записи | mixt73 | Общие вопросы по Java, Java SE, Kotlin | 2 | 10.11.2014 10:25 |
Проверка записи в БД | Teror4uks | БД в Delphi | 7 | 26.12.2013 12:49 |
Как определить ключ добавленной или существующей записи? | tumanovalex | C# (си шарп) | 10 | 08.05.2011 10:00 |
Удаление записи и редактирование существующей | Cyber | Общие вопросы C/C++ | 3 | 16.02.2011 16:15 |
Проверка на совпадение записи | Lokos | БД в Delphi | 4 | 29.04.2010 08:55 |