Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.13;
Скачать: CL | DM;

Вниз

не разрешить вставку дубрирующей записи в БД   Найти похожие ветки 

 
Choco ©   (2007-03-14 16:22) [0]

Проблема такая: есть база данных .db,база содержит паспортные данные. как запретить ввод в эту базу нескольких человек с одинаковым ФИО?


 
Reindeer Moss Eater ©   (2007-03-14 16:24) [1]

Повесить табличку на стену перед глазами оператора:

"Категорически запрещается вводить нескольких человек с одинаковыми ФИО"


 
zdm ©   (2007-03-14 16:30) [2]

проверяй запросом на схожесь ;))


 
Аноним   (2007-03-14 16:35) [3]

Такие вещи надо закрывать на уровне базы
например уникальным индексом


 
Reindeer Moss Eater ©   (2007-03-14 16:41) [4]

А когда придет второй Иванов Иван Иванович, лезть в БД и отключать уникальный индекс.


 
zdm ©   (2007-03-14 16:41) [5]


> Аноним   (14.03.07 16:35) [3]
> Такие вещи надо закрывать на уровне базынапример уникальным
> индексом

Иванов и иванов, а тем более ИвАнов Сидр петрОвич---разные вещи ;)


 
zdm ©   (2007-03-14 16:44) [6]

можно только проверять на схожесть запрос на LIKE AnsiUpperCase or AnsiLowCase и если есть похожесть -предупреждать юзера. а дальше -дело личное


 
Аноним   (2007-03-14 16:47) [7]


> Reindeer Moss Eater ©  


А это неважно, по условию задачи второго Иванова в базу не пуЩать, а гнать в три шеи


 
Reindeer Moss Eater ©   (2007-03-14 16:48) [8]

Глупости все это.
Во первых полные тёзки существуют.
Во вторых индексы и хитроумные проверки как правило не помогают. Ибо жизнь мудрее самого мудрого программера.
Юзер может ввести "Иванов" и "Ивaнов" вообще не подозревая, что ввел две разных строки.


 
zdm ©   (2007-03-14 16:49) [9]


> Reindeer Moss Eater ©   (14.03.07 16:48) [8]

так вот и говорю про предупреждения, ну хоть как-то мож задумается, не вводит он того, кто уже есть.


 
zdm ©   (2007-03-14 16:49) [10]


> Reindeer Moss Eater ©   (14.03.07 16:48) [8]

Тёзки с одинаковыми паспортными данными? ;)))


 
Reindeer Moss Eater ©   (2007-03-14 16:50) [11]

как запретить ввод в эту базу нескольких человек с одинаковым ФИО?


 
Аноним   (2007-03-14 16:50) [12]


> zdm ©


В случае работы с *.db это со стопроцентной надежностью все равно не разрулить.


 
Knight ©   (2007-03-14 16:52) [13]


>  [10] zdm ©   (14.03.07 16:49)
> Тёзки с одинаковыми паспортными данными? ;)))


как запретить ввод в эту базу нескольких человек с одинаковым ФИО?

Про паспорт там ничего нет... даже про его уникальный серия-номер..


 
zdm ©   (2007-03-14 16:54) [14]

Choco ©   (14.03.07 16:22)  

Проблема такая: есть база данных .db,база содержит паспортные данные.


 
zdm ©   (2007-03-14 16:55) [15]

да это уже лирика пошла, можно конечно , хотя от "дурака" ни кто не застрахован!!!


 
Knight ©   (2007-03-14 16:58) [16]


> [14] zdm ©   (14.03.07 16:54)
> Проблема такая: есть база данных .db,база содержит паспортные
> данные.

Не важно, что имеется.. важно что требуется :)


 
zdm ©   (2007-03-14 17:00) [17]


> Knight ©   (14.03.07 16:58) [16]

сказл-же что дальше уже лирика пошла, советы дали.


 
Knight ©   (2007-03-14 17:00) [18]

Дальше пошёл флуд... :)


 
zdm ©   (2007-03-14 17:01) [19]


> Knight ©   (14.03.07 16:58) [16]

по этому и не стал сразу на это внимание обращать!!! про индексы в обще лажа, что-бы фио индексировать---круто!!!


 
zdm ©   (2007-03-14 17:01) [20]


> Knight ©   (14.03.07 17:00) [18]

как всегда ;)


 
Choco ©   (2007-03-14 17:06) [21]

поглумиться-поглумились а проблема осталась без решения...


 
Knight ©   (2007-03-14 17:08) [22]

Создаёшь три поля Ф И О ... и делаешь по ним уникальный индекс...


 
Knight ©   (2007-03-14 17:12) [23]

Или перед каждым добавлением записи.. делаешь выборку по Ф И О.. если не ноль... то человек идёт лесом, ибо тёски тут не нужны.


 
zdm ©   (2007-03-14 17:12) [24]


> Choco ©   (14.03.07 17:06) [21]

как без решения-то? у тебя есть фио, проверяй на схожесть,,,больше по моему никак?
sql.add("select fio from qqq where fio LIKE :"+ quotedstr(AnsiUpperCase(edit_fio.text))+" or fio LIKE:" quotedstr(AnsiLowerCase(edit_fio.text));
if field[0].asstring<>"" then такая фама уже есть
простите не с проекта тянул, по ходу написал, но примерно так


 
Аноним   (2007-03-14 17:13) [25]


> zdm ©  


> про индексы в обще лажа


Обоснуйте, почему это про индексы лажа, а сажать проверки на клиентскую сторону (при этом любой другой клиент впишет в базу хоть 23 иванова) - не лажа?


 
Knight ©   (2007-03-14 17:16) [26]

И поля отдельные и обязательные к заполнению...



Страницы: 1 вся ветка

Текущий архив: 2007.05.13;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.053 c
15-1176378501
CCili
2007-04-12 15:48
2007.05.13
Как определить что за видеоадаптер?


4-1166032651
P@r@zit
2006-12-13 20:57
2007.05.13
Информатика


15-1176454768
Tonich
2007-04-13 12:59
2007.05.13
Есть ли такое ?


15-1176296632
StriderMan
2007-04-11 17:03
2007.05.13
сложение путей файла


15-1176712162
homm
2007-04-16 12:29
2007.05.13
7600GT vs X1650PRO