![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрет дублирующихся записей [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 даем запрос на выборку записи, которая удовлетворяет введенным пользователем значениям.