Главная страница
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.082 c
15-1176581986
GreM
2007-04-15 00:19
2007.05.13
Вопрос по XML


2-1177339902
Саня Сафронов
2007-04-23 18:51
2007.05.13
Помогите, пожалуйста, составить прогу!


1-1173956279
ANikolay
2007-03-15 13:57
2007.05.13
Использование TidHTTP в OLE-объекте


8-1154363286
Василий
2006-07-31 20:28
2007.05.13
Отображение картинки в DrawGrid


15-1176697979
pavel_guzhanov
2007-04-16 08:32
2007.05.13
Непонятный глюк с DVD-RW