У меня есть таблица строк заказа клиента (sDetail); В записях есть индекс, который фактически является индексом кандидата с ключом задания заказа плюс STR (номер строки). Это используется для извлечения строк определенного порядка.VFP. Удаленные записи - индексирование - воссоздание записей
Существует также первичный индекс в таблице sDetail, который является последовательным идентификатором.
В распоряжение могут быть внесены изменения. Если строка заказа удалена пользователем, я помечаю запись как удаленную в этой таблице; Когда я обрабатываю, я обычно запускаю SET DELETED ON, поэтому пользователь не видит эти удаленные записи.
Если, однако, он воссоздает линию, я могу создать ошибку «Нарушение индекса нарушено». Я это понимаю. Чтобы избежать этой ошибки, я вижу два возможных подхода:
Либо: Включите выражение фильтра на индекс «для DELETED()!», Так что эти записи не видны во время выполнения
Или: Когда я хотите проверить наличие записи для определенной строки, SET DELETED OFF, проверить наличие записи и, при необходимости, ЗАПИСАТЬ. Затем верните SET SET DELETED ON.
Что делают другие разработчики? Или есть лучший способ?
Спасибо
Мне не нравится удалять и отзывать вообще. Индекс для! Dele() просто еще больше усложняет ситуацию. Я бы просто сделал это регулярным индексом, а не индексом кандидата. Все упрощает. – Missy