|
|
|
Удаление записи
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста как удалить выбранную запись в таблице при нажатии кнопки, чтобы она полностью удалилась а не помечалась маркером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 20:23 |
|
||
|
Удаление записи
|
|||
|---|---|---|---|
|
#18+
1. set order на индекс с условием !dele() или 2. set dele on | off ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 21:16 |
|
||
|
Удаление записи
|
|||
|---|---|---|---|
|
#18+
Только в два действия: delete pack Но как правило, таким образом не действуют. при установке SET DELETED ON записи помеченные на удаление не отображаются и не используются в расчетах, SQL запросах и пр., за исключением некоторых функций, к примеру reccount(). К тому же комманда PACK требует эксклюзивного доступа к таблице. А пакуются базы в момент их обслуживания, периодичность зависит от нагруженности и пр, вплоть до настроения администратора БД. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 21:41 |
|
||
|
Удаление записи
|
|||
|---|---|---|---|
|
#18+
Хы появилась опять одна проблема! При удалении как вы написали при помощи set deleted on всё хорошо удаляется этой записи не видно, но когда вводишь новую запись фокс ругается на то что ключ с таким именем уже существует номер ключа у меня присваивается автоматически при помощи Поставщики.n_post+1, а когда полностью убереш удалённые записи то тогда всё нормально, как решить эту проблему???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 23:22 |
|
||
|
Удаление записи
|
|||
|---|---|---|---|
|
#18+
вставь автоинкримент филд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 23:30 |
|
||
|
Удаление записи
|
|||
|---|---|---|---|
|
#18+
Hi Captd! 1) Использовать для создания ключа процедуру аналогичную NewID - в нумерации конечно будут "пробелы", но это совершенно неважно - главное что номера будут уникальными. Подробности - в ПОИСК и в примеры поставляемые с фоксом. Проблемы возникающие при использовании подхода "найти максимальное значение и прибавить 1" отнюдь не завершаются на этом индексе - так делать не стоит по массе других причин. 2) В Primary индексе добавить условие FOR !DELETED() - тогда он не будет проверять уникальности среди удалённых записей. Правда такой индекс не используется оптимизатором - но для нужд оптимизатора можно создать ешё один индекс - без условия, но не Primary, а Regular... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 02:16 |
|
||
|
Удаление записи
|
|||
|---|---|---|---|
|
#18+
Как вариант, для исключения "дыр" - делаем для начала не Insert/Append, а смотрим есть ли удаленная запись, если есть, то Recall для удаленной и меняем содержимое на новое, кроме разумеется key поля/полей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 04:36 |
|
||
|
Удаление записи
|
|||
|---|---|---|---|
|
#18+
А вот насчёт учловия FOR !DELETED() как его записать??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 12:39 |
|
||
|
Удаление записи
|
|||
|---|---|---|---|
|
#18+
Hi Captd! Код: plaintext 1. В интерфейсе ещё проще - в редакторе структуры таблицы на вкладке индексов есть соответствующая колонка для условий. Единственное НО - утилита Gendbc до версии VFP6 (или 7, точно не помню) не могла создавать команды ALTER TABLE с частью FOR. Да и сама такая конструкция насколько я помню появилась впервые в 6-ке (или может даже 7-ке)... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2005, 02:04 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33436982&tid=1592769]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 207ms |
| total: | 480ms |

| 0 / 0 |
