![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как проверить колличество одинаковых записей в поле [D7, Paradox]
vodvorezlaya © (2006-09-21 13:01:00)Всем доброго времени суток.
Подскажите как проверить. После добавления записи в конец таблици (Append) существует там такая-же запись или нет?
Есть ли для этого специальный метод?
Спасибо.
Sergey13 (2006-09-21 14:12:00) [41]> [17] Johnmen © (21.09.06 14:08)
Ну ты и шустрый. В 7 милисекунд все дело испортил. 8-)
Johnmen (2006-09-21 14:08:00) [42]
> zdm © (21.09.06 13:57) [15]
> а вот уже непосредственно перед COMMIT делаешь опрос на
> совпадение,
Ну сделал ты запрос. Время 00:00:00:000
Получил результаты, проанализировал, принял решение. Время 00:00::00:007
А я в этом промежутке времени вставил и закоммитил запись с тем же значением поля, на которое ты проверял и не нашёл.
Что делать? :)
zdm (2006-09-21 13:58:00) [43]а про [5], ты что хотел узнать?
zdm (2006-09-21 13:57:00) [44]
> Да чёрт с ним, с Парадоксом. Ты лучше про [5] и [8] растолкуй.
> ..:)
про [8]. Типа открываешь транзакцию, если конечно БД поддерживает, начинаешь выполнять какие-либо действия с данными базы, и пока не скажешь COMMIT-ни хрена не произойдет, а вот уже непосредственно перед COMMIT делаешь опрос на совпадение, иначе ROLLBACK
Johnmen (2006-09-21 13:53:00) [45]
> zdm © (21.09.06 13:42) [12]
> Хотя СТОП, если PARADOX, то как-бы это не сетевая БД и какие
> нахрен "другие вносят значения"?
Ну ты, наверное, знаешь, что Парадокс и в сети пользовать можно, не только монопольно...
Да чёрт с ним, с Парадоксом. Ты лучше про [5] и [8] растолкуй...:)
Johnmen (2006-09-21 13:50:00) [46]
> zdm © (21.09.06 13:33) [9]
> а про транзакции ты слыхивал????
Да, где-то что-то такое слышал, краем уха... :)
А что? Они как-то соотносятся с Парадоксом в целом и с [5] в частности?
zdm (2006-09-21 13:42:00) [47]
> А пока ты проверял, есть или нет, кто-то другой такую запись
> с таким значением поля добавил? Что делать? :)
Хотя СТОП, если PARADOX, то как-бы это не сетевая БД и какие нахрен "другие вносят значения"?
zdm (2006-09-21 13:37:00) [48]
> А пока ты проверял, есть или нет, кто-то другой такую запись
> с таким значением поля добавил? Что делать? :)
Хоть тайм-аут какой-нибудь придумывай, типа, опросил базу-данных нет, еще разок-нет,, ну вноси значения только быстро :)))))
zdm (2006-09-21 13:36:00) [49]блин, я на другой волне PARADOX-же блин, ну ни как тогда!!!
zdm (2006-09-21 13:33:00) [50]а про транзакции ты слыхивал????
Johnmen (2006-09-21 13:31:00) [51]
> zdm © (21.09.06 13:08) [5]
> джопустим добавляешь поле Name из компонента EditSelect
> Name from Таблица Where Name=QuotedStr(Edit1.text);open;
> if Fields[0].Asstring='' then такого значения нет, спокойно
> вноси данные else "данные уже существуют пошли в пень"
А пока ты проверял, есть или нет, кто-то другой такую запись с таким значением поля добавил? Что делать? :)
zdm (2006-09-21 13:10:00) [52]
> джопустим
:)
Desdechado (2006-09-21 13:08:00) [53]> колличество одинаковых записей в поле
?!!
в поле нет записей
уникальный индекс (констрейнт) + ловля исключений при попытке записи
zdm (2006-09-21 13:08:00) [54]джопустим добавляешь поле Name из компонента Edit
Select Name from Таблица Where Name=QuotedStr(Edit1.text);
open;
if Fields[0].Asstring='' then такого значения нет, спокойно вноси данные else "данные уже существуют пошли в пень"
Павел Калугин (2006-09-21 13:05:00) [55]А может логичнее проверять ДО добавления и не плодить дубликатов.
Sergey13 (2006-09-21 13:05:00) [56]Последобавления конечно же существует хотя бы одна. 8-)
Может тебе надо ДО проверять? Так это Locate или Select. Если ненужны дубликаты - уникальный индекс построй по полю.
Johnmen (2006-09-21 13:05:00) [57]Каков критерий "такая-же запись"?
zdm (2006-09-21 13:05:00) [58]1. Уникальность полей.
2. Программно