![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
проверка на существования записи в базе данных [D7, XP]
Juri © (2006-09-08 16:38:00)Доброго времени суток! Такой у меня вапрос:
Необходимо проверить существует ли уже запись в BDF, перед тем как её туда добавить... проверять к примеру надо по главным фельдам это: NAME, DATE, SUMME... вобщем если надо добавить строку "NAME "Петя" DATE "21.02.1964" SUMME "3000"", то нужно проверить а есть ли такая запись уже?
Juri (2006-09-08 18:56:00) [1]ух тяжело плин с хелпом воевать а... ну кое как разобрался сделал через Table.Locate
Juri (2006-09-08 18:00:00) [2]
> DrPass © (08.09.06 16:42) [1]
> В варианте (б) есть шанс, что между проверкой и добавлением
> кто-то другой впишет туда этого Петю.
значит надо использовать вариант "а"
тогда прошу объяснить что такое уникальный индекс по главным полям как его заиметь?
DrPass (2006-09-08 18:00:00) [3]
> Desdechado © (08.09.06 17:56) [4]
При "типа многопользовательской" работе с DBF-файлом это легко избежать :)
Desdechado (2006-09-08 17:56:00) [4]DrPass © (08.09.06 16:42) [1]
В варианте (б) есть шанс, что между проверкой и добавлением кто-то другой впишет туда этого Петю.
Juri (08.09.06 17:38) [3]
F1
Juri (2006-09-08 17:38:00) [5]Table1.Locate();
помогите с этой функцией, что там писать внутри?
Сергей М. (2006-09-08 16:43:00) [6]И ?
Нужно - проверь) ..
DrPass (2006-09-08 16:42:00) [7]Два варианта -
а) иметь уникальный индекс по главным фель... тьфу, полям. И просто получить ошибку при добавлении новой такой же записи, корректно ее обработать и сказать пользователю "Упс!"
б) перед вставкой попробовать выбрать такую же запись (Table.Locate, Table.Lookup, или просто запрос на SELECT - по вкусу). И тоже сказать "Упс", если что.