Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2011, 13:06   #1
NikkMih
 
Регистрация: 29.05.2010
Сообщений: 7
По умолчанию Проверка существования записи

Помогите, плиз. Нужно при заполнении поля "Наименование" проверить есть ли уже такое значение в БД и если есть - чтобы запись не добавлялась. Используется ADO в C++Builder 6. Если прописать в mdb что поле уникальное, то возникает EOleException, и не знаю где его отлавливать. Событие OnPostError для TADOTable отлавливает только EDatabaseError. Пытался также в событии OnValidate для TField перебирать все записи с проверкой значений, но не катит - запись не добавляется даже если уникальная. Такое чувство, что я чего-то не знаю!
NikkMih вне форума Ответить с цитированием
Старый 11.10.2011, 13:03   #2
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

При добавлении сделай запрос на прверку, если по другому не получается.
psycho-coder вне форума Ответить с цитированием
Старый 13.10.2011, 11:20   #3
NikkMih
 
Регистрация: 29.05.2010
Сообщений: 7
По умолчанию

В общем, проблема такая. В событии OnValidate проверяю, есть ли запись с таким наименованием в базе(с пом метода Locate для ADOTable), если есть кидаю исключение. Все проверяет, только теперь не добавляются новые записи. Когда их добавляешь, и переходишь на новую строку или сохраняешь, то новая запись исчезает. Вот в этом-то и проблема. Если код с Locate убрать, то записи нормально добавляются. Поэтому я и спросил, как правильно сделать проверку на существование записи.
NikkMih вне форума Ответить с цитированием
Старый 19.10.2011, 11:26   #4
Drugnir
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 262
По умолчанию

Если во время не получается, можешь в Post дописать проверку Count и если 2 записи, то удали last.
А вообще вначале делай запрос на Count, если 0 то Insert, иначе ошибка.
Drugnir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка существования компонента _-Re@l-_ Общие вопросы Delphi 3 29.12.2010 18:59
Проверка существования TEdit John_chek Общие вопросы Delphi 9 18.04.2008 14:56
Проверка существования директории Gorin Общие вопросы Delphi 7 25.11.2007 19:47
проверка существования окна Shade Win Api 3 22.07.2007 17:56