![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отловить одинаковые данные в БД [D6, FireBird 1.0]
nik7777 © (2004-03-26 06:39:00)Приветствую всех Мастеров!!!
Help me!!!
Может я последний ламер или просто голову заклинило, в общем суть вопроса в следующем:
Есть Interbase(FireBird 1.0) и клиент для работы с ним написанный а Delphi. В дельфевой проге работа идет по транзакциям, каждый пользователь работает отдельно.
Например, таблица клиентов, куда вводятся фио, адрес и еще несколько реквизитов.
По идее до завершения транзакции я не увижу данных введенных соседом, а потому не смогу проверить, что такие данные в базе уже есть.
Подскажите механизм отлавливания одинаковых данных для таблиц, буду очень благодарен.
Если что дайте ссылку.
Fay (2004-03-29 14:40:00) [1]Служебки - реальное решение. Проверено!
stud (2004-03-29 12:53:00) [2]пора заканчивать )) а то скоро слезы пойдут))))
Sergey13 (2004-03-29 12:52:00) [3]2stud © (29.03.04 12:47) [32]
Так возят на том, кто везет, как правило, и не взбрыкивает. Их же потом делают стрелочниками, иногда.
ЗЫ:
Все больше подходит для переноса в треп.
stud (2004-03-29 12:47:00) [4]в теории все замечательно выглядит............))))
но в жизни все относительно однако))
Deniz (2004-03-29 12:37:00) [5]> stud © (29.03.04 10:41) [26]
Дожились, начальство Вас наказывает, а Вы стараетесь пользователям угодить. Значит надо наказывать пользователя(ведь это они жалуются). Например, заставить вводить ВСЕ необходимые данные + служебка и в итоге перевести все разборки по функцианалу на служебные записки.
Sergey13 (2004-03-29 11:53:00) [6]2Жук © (29.03.04 11:31) [29]
А еще хорошо красные корочки показать и так вкрадчиво спросить: "А какие у вас, собственно, возражения по внесению информации? И как ваша фамилия?"
Жук (2004-03-29 11:31:00) [7]Когда автоматизируются доселе не затронутые области, разработчику, естественно, нужен какой-то административный ресурс. По себе знаю, что отношение к тебе потенциальных юзверей становится более пиетическим, когда представляешься не "программист отдела АСУ", а "Руководитель рабочей группы по автоматизации учёта" :-)
stud (2004-03-29 10:57:00) [8]тут самый действенный вариант - 3)))
чем и занимаюсь
Sergey13 (2004-03-29 10:53:00) [9]2stud © (29.03.04 10:41) [26]
С такими начальниками надо бороться их же оружием.
1. Сделать примерно так как я написал в [25]
2. Написать служебную записку с понятным и доходчивым обоснованием того, что неправильный ввод влечет за собой неправильный вывод.
Все. При возникновении коллизий тыкать всех в копию служебной. Если не поможет - искать другую работу.
stud (2004-03-29 10:41:00) [10]так говорил и показывал кто виновник торжества.
а вы не сталкивались с ситуацией, когда приходит большое начальство и спрашивает: почему программа не работает?
ты ему: да вот данные не вводят необходимые!!!
оно: я не спрашиваю кто что вводит, я спрашиваю почему программа не работает.
а ради интереса подсчитал двойников и даже тройников.
автоматизация деятельности - это комплекс административно-технических мероприятий. если административная часть пущена на самотек, то реализовать техничекую часть весьма сложно. иногда даже невозможно....
а вы ключи, ключи))))
Sergey13 (2004-03-29 10:35:00) [11]2stud © (29.03.04 10:27) [24]
А код генерить на каждого вводимого нельзя что ли? А когда у них появится несколько Ивановых Иванов Ивановичей с д/р 01.01.01 сказать - а не пошли бы вы подальше и предъявить им человека который вводил таких в справочник (это элементарно организовать даже незаметно для юзера). После этого сорвать денюжку за исправление ситуации. 8-)
stud (2004-03-29 10:27:00) [12]
> А в БД идентификация происходит по уникальному идентификатору,
> в качестве которого могут выступать как сурогатные данные
> (автоинкремент в разных исполнениях) так и естественные
> (например номер паспорта). Для реализации такого механизма
> и нужны программисты. 8-)
согласен. осталось только заставить людей вводить такие данные как паспортные или хотя-бы что-то еще кроме фио. а то ведь когда сделал ввод этих данных обязательным - визгу было!!!! нам некогда, мы не хотим, это не важно.)))) интересно как прогарммировать такие заявки? суть простая, программа должна работать не с теми данными которые нужны для нормального функционирования, а с теми которые нам не лень вводить. доказывать что-либо бесполезно))
Sergey13 (2004-03-29 10:15:00) [13]stud © (29.03.04 09:50) [19]
>в медицине идентификация пациента происходит по четырем полям - ф.и.о.дата рождения.
А в БД идентификация происходит по уникальному идентификатору, в качестве которого могут выступать как сурогатные данные (автоинкремент в разных исполнениях) так и естественные (например номер паспорта). Для реализации такого механизма и нужны программисты. 8-)
stud (2004-03-29 10:02:00) [14]
> Anatoly Podgoretsky © (29.03.04 09:52) [20]
вы так думаете?))
если проблема научить этих пользователей отличать запятую от точки.... не говоря о том, чтобы просто найти нужного человека в базе
Sergey13 (2004-03-29 09:58:00) [15]2stud © (29.03.04 09:50) [19]
Тут точно индексы бессильны, но подобные случаи в медицине описаны... 8-)
Anatoly Podgoretsky (2004-03-29 09:52:00) [16]Точно программист нужен.
stud (2004-03-29 09:50:00) [17]
> Anatoly Podgoretsky © (29.03.04 09:39) [18]
пример такой: в медицине идентификация пациента происходит по четырем полям - ф.и.о.дата рождения. достаточно для одного и того же пациента дату рождения ставить с потолка - и это уже другой человек плюс ошибки в фио при вводе)))
Anatoly Podgoretsky (2004-03-29 09:39:00) [18]Это как? Ты что то не то говоришь, как это бессильны, может вам стоит программиста пригласить?
stud (2004-03-29 09:31:00) [19]
> Desdechado © (27.03.04 15:12) [14]
ее даже с одного могут занести. и уникальные индексы оказываются бессильны)))
Sergey13 (2004-03-29 08:49:00) [20]2Andery (29.03.04 08:46) [15]
А зачем такие сложности, если исключение и так сгенерится при нарушении уникальности?