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

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

Как проверить колличество одинаковых записей в поле [D7, Paradox]


Страницы:   1 2 3

vodvorezlaya ©   (2006-09-21 13:01:00) 

Всем доброго времени суток.

Подскажите как проверить. После добавления записи в конец таблици (Append) существует там такая-же запись или нет?

Есть ли для этого специальный метод?

Спасибо.


Johnmen   (2006-09-22 10:09:00) [21]


> zdm ©   (22.09.06 09:43) [36]
> С уникальностью полей тоже засада бывает.1. Иванов Иван
> и иванов иВаН это разные данные для БД.


Засада бывает у тех, кто не побеспокоился. А кто выставил правильные настройки (напр.не различать регистра) или в структуре таблиц учёл или в клиентском приложении, у того всё комильфо...


Sergey13   (2006-09-22 09:53:00) [22]

> [36] zdm ©   (22.09.06 09:43)
> С параметрами, при запросах с большой вложенностью, бывает засада
Какая? И насколько большой должна быть вложенность (вложенность чего, кстати), что бы на нее напороться?


zdm   (2006-09-22 09:43:00) [23]

С уникальностью полей тоже засада бывает.
1. Иванов Иван и иванов иВаН это разные данные для БД.
2. Lexx, про уникальность сразу писали

> evvcom ©  

С параметрами, при запросах с большой вложенностью, бывает засада, хотя я конечно не спорю, что параметры юзать легче и проще.


evvcom   (2006-09-22 09:12:00) [24]

> [24] zdm ©   (21.09.06 14:41)

А тебе нужен в твоем случае просто Иван Иваныч, или все же ты что-то про нормализацию слышал? ID этого Ивана Иваныча получать будешь? И что тогда тебе select distinct даст? Ась? :-)

> [22] vodvorezlaya   (21.09.06 14:37)
> Ну я понял вроде то, но что даст Name=QuotedStr(Edit1.text)

Понял и молодец! Только лучше так не делай. Используй параметры, учись сразу программировать "правильно"!


Сергей М.   (2006-09-22 08:34:00) [25]


> vodvorezlaya   (22.09.06 08:03) [33]


Да по барабану первое оно у тебя или столохматое !
Важно чтобы для значений в этом поле был создан и активирован уникальный индекс. И если у тебя при попытке внесения в это поле неуникальной записи не возбуждается исключение, то это означает, что либо индекса такого и в помине нет, либо индекс этот неуникальный, либо он не активирован.
При соблюдении этих условий исключение будет обязательно возбуждено.


vodvorezlaya   (2006-09-22 08:03:00) [26]


> Ты в [6] вник ?

Да, но это не первое ключевое поле.
Перед ним ещё два ключевых поля.А с этим третьим ключевым и при попытке дублирования записи не возникает Exception.


Lex_!   (2006-09-22 06:05:00) [27]

А что нельзя разве сделать поле уникальным по определению?...
(индексация, без совпадений... )


Anatoly Podgoretsky   (2006-09-21 21:31:00) [28]

Sergey13 ©   (21.09.06 14:12) [18]
Законы Мерфи непреодолимы.


Mike Kouzmine   (2006-09-21 16:35:00) [29]

zdm ©   (21.09.06 15:28) [26]

Johnmen ©   (21.09.06 13:05) [3]
Каков критерий "такая-же запись"?


Сергей М.   (2006-09-21 16:05:00) [30]


> vodvorezlaya   (21.09.06 16:00) [28]


В делфи мно-о-ого еще чего есть)

Ты в [6] вник ?


vodvorezlaya   (2006-09-21 16:00:00) [31]

А вообще есть в Delphi такой метод Lookup и locate.


Johnmen   (2006-09-21 15:43:00) [32]


> Блин, я хоть какое-то решение подсказал,


А что толку от кривого решения и кому оно надо?


> а Вы вообще ни чего.


Ну меряться пиписками я с Вами не буду. Видимо Вы сторонник персонажа из известного анекдота:
- У меня две новости, хорошая и плохая.
- Начни с плохой.
- В этом году неурожай, будем жрать г...о.
- А хорошая?
- Г...а много - всем хватит!


zdm   (2006-09-21 15:28:00) [33]

Блин, я хоть какое-то решение подсказал, а Вы вообще ни чего.
И что плохого в моем решении. Всегда можно опросить и на "чистое"  совпадение и на "похожесть", а уже дальше принимать решение , вносить данные или нет


Johnmen   (2006-09-21 14:49:00) [34]


> Хорош стебатся-то, я просто быстро предложил решение, не
> нравится не кушайте!


Вот автор ветки и скушает. А потом придёт к тебе лицо бить за такие советы.
Спрашивается - тебе это надо?
:)


zdm   (2006-09-21 14:41:00) [35]

Name=QuotedStr(Edit1.text) даст допустим "Иванов Иван Иванович"
а Fields[0] это  для примера, ты говоришь повторяются, так что тебе надо-то чтобы не повоторялись, тогда удали повторяющиеся записи,,, а если нельзя, тогда в запросе говори "select distinct"


zdm   (2006-09-21 14:38:00) [36]


> Я всего лишь хочу сказать, что [5] и [15] - вот так никто
> не делает. Ну из тех, кто знает вышеупомянутую теорию и
> про эти, как их, транзакции.


Хорош стебатся-то, я просто быстро предложил решение, не нравится не кушайте!


vodvorezlaya   (2006-09-21 14:37:00) [37]


> джопустим добавляешь поле Name из компонента Edit
> Select Name from Таблица  Where Name=QuotedStr(Edit1.text);
>
> open;
> if Fields[0].Asstring='' then такого значения нет, спокойно
> вноси данные else "данные уже существуют пошли в пень"

Ну я понял вроде то, но что даст Name=QuotedStr(Edit1.text);?

А допустим что есть таблица в которой данные Fields[0] повторяются, только в ручную их переименовывать?
(Имею в виду сортировать и в цикле проверять соответствие)


zdm   (2006-09-21 14:31:00) [38]


> Johnmen

Не пудри мозги :)


Johnmen   (2006-09-21 14:29:00) [39]


> ты чего вообще хочешь опровергнуть всю теорию построения
> реляционных БД, что-ли?


Нет. С чего ты взял???
Я всего лишь хочу сказать, что [5] и [15] - вот так никто не делает. Ну из тех, кто знает вышеупомянутую теорию и про эти, как их, транзакции.

>Sergey13 ©   (21.09.06 14:12) [18]

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


zdm   (2006-09-21 14:14:00) [40]

не стоп, лажа, ты чего вообще хочешь опровергнуть всю теорию построения реляционных БД, что-ли? Я прикалывался про тайм-ауты конечно, идеального варианта естественно не существует (мы тут с тобой какой-то философией занялись) если я вношу данные и говорю комит и ты одновременно вносишь точно такие-же данные, БД не даст кому-то из нас их внести, ну типа кто первый тот и прав...хотя... блин,,,,а вопрос действительно, ладно я щас подумаю еще просто некогда:)


Страницы:   1 2 3

Наверх

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