Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запрет дублирующихся записей [D7, Paradox]


russko ©   (2004-03-30 09:29:00) 

Такой вопрос: каким образом можно перед добавлением строки в БД установить проверку на наличие такой записи в БД. Особенность заключается в том что проверять надо не один столбец, а 2 и больше.


Anatoly Podgoretsky   (2004-03-30 12:00:00) [1]

Если запись есть,то придется все равно делать ручное исключение, не удалять же втихую?


Курдль   (2004-03-30 11:24:00) [2]

Когда вариант с уникальными ключами не подходит (возможны исключения), то воспользуйтесь элементарным запросом:

select 1
from TABLE_NAME
where FIELD1 = :VALUE1 and FIELD2= :VALUE2 and ... FIELDn = :VALUEn

Если вышеописанный запрос вернет 1, значит такая запись уже есть, если Null, значит можно вносить.

ЗЫ: Это был Structured Query Language :)


Anatoly Podgoretsky   (2004-03-30 10:52:00) [3]

В этом случае напрашивается не уникальный вторичный индекс, а первичный ключ.


Vovchik_A   (2004-03-30 10:36:00) [4]

2russko ©   (30.03.04 09:29)
Сделай уникальный составной ключ по этим двум полям(и больше)полям


Vlad   (2004-03-30 09:36:00) [5]


> проверять надо не один столбец, а 2 и больше.

А что, в парадоксе составных уникальных ключей нету ?

Тогда можно с помощью запроса.

if Query1.IsEmpty then //разрешаем добавление

Соответственно в Query1 даем запрос на выборку записи, которая удовлетворяет введенным пользователем значениям.


Наверх

Титульная страница Поиск, карта сайта Написать письмо