Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
06.02.2009, 14:40
|
|||
---|---|---|---|
|
|||
Проблема с удалением записи |
|||
#18+
Есть БД в Fox pro, для манипулирования данными из БД создано приложение в Delphi. Проблема в том, что я не могу удалить записи, т.е в приложении они удаляются, а реально в БД Fox pro нет. Открываю Fox pro нажимаю на кнопку Remove Delete Records и записи, удаленные из приложения исчезают. Как можно удалить записи из приложения, не заходя каждый раз в Fox pro? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.02.2009, 14:53
|
|||
---|---|---|---|
Проблема с удалением записи |
|||
#18+
Для этого в фоксе существует команда PACK. НО эта команда требует монопольного доступа к табличке, поэтому "упаковку" табличек производят в административной процедуре. PS а почему мешают удаленные записи? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.02.2009, 15:04
|
|||
---|---|---|---|
|
|||
Проблема с удалением записи |
|||
#18+
PaulWist, когда я хочу восстановить удаленные данные, т.е пользователь их должен просто записать по-новому возникают проблемы типа сообщения "Ошибки при выполнении многошаговой процедуры", таже ситуация с удалением еще раз введенных данных. т.е получается что мы хотим вставить новую запись, а точно такая же уже есть в БД. Т.к она помечена, как удаленная, пользователь не знает что аналогичные данные уже есть в БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.02.2009, 15:06
|
|||
---|---|---|---|
|
|||
Проблема с удалением записи |
|||
#18+
а как можно использовать команду PACK, т.е где ее можно выполнить? Я новичок в Фоксе... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.02.2009, 15:14
|
|||
---|---|---|---|
Проблема с удалением записи |
|||
#18+
mila mavPaulWist, когда я хочу восстановить удаленные данные, т.е пользователь их должен просто записать по-новому возникают проблемы типа сообщения "Ошибки при выполнении многошаговой процедуры", таже ситуация с удалением еще раз введенных данных. т.е получается что мы хотим вставить новую запись, а точно такая же уже есть в БД. Т.к она помечена, как удаленная, пользователь не знает что аналогичные данные уже есть в БД. Тогда надо использовать фильтрованный индекс по deleted(), правда у него есть недостаток он не используется в Rushmore, поэтому придется делать два индекса. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.02.2009, 15:15
|
|||
---|---|---|---|
Проблема с удалением записи |
|||
#18+
mila mavа как можно использовать команду PACK, т.е где ее можно выполнить? Я новичок в Фоксе... Открыть в Windows - DataSession табличку , а в командном окне выполнить Pack ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.02.2009, 17:12
|
|||
---|---|---|---|
|
|||
Проблема с удалением записи |
|||
#18+
авториндекс по deleted(), правда у него есть недостаток он не используется в Rushmore индексы с условием по делетед и нот. делетед оптимизируются в 9-й версии, я это уже показывал и ссылка в хелпе есть на это (ставим условие в начало выражения составного индекса) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.02.2009, 17:59
|
|||
---|---|---|---|
Проблема с удалением записи |
|||
#18+
прошелмимоавториндекс по deleted(), правда у него есть недостаток он не используется в Rushmore Александр не надо вырывать цитату из предложения, в оригинале авторТогда надо использовать фильтрованный индекс по deleted(), правда у него есть недостаток он не используется в Rushmore, поэтому придется делать два индекса. Речь идёт о фильтрованном индексе, те с условием For Код: plaintext 1. 2. 3. 4. 5. 6.
прошелмимо индексы с условием по делетед и нот. делетед оптимизируются в 9-й версии, я это уже показывал и ссылка в хелпе есть на это Возможно у меня хелп устарел, но там написано: авторRushmore cannot take advantage of all indexes. If you use a FOR clause in the INDEX command, Rushmore cannot use the index for optimization . For example, because it contains a FOR clause, this statement cannot be optimized, INDEX ON ORDNUM FOR DISCOUNT > 10 TAG ORDDISC. Так же написано, что индекс с отрицанием тоже не поддерживает оптимизацию авторSimilarly, Rushmore cannot use an index created with a NOT condition . For example, the this expression can be optimized, INDEX ON DELETED() TAG DEL, But this one cannot, INDEX ON NOT DELETED() TAG NOTDEL. прошелмимо (ставим условие в начало выражения составного индекса) Не понял, про какой составной индекс идёт речь, я говорил о фильтрованном индексе. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.02.2009, 20:15
|
|||
---|---|---|---|
|
|||
Проблема с удалением записи |
|||
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
еще раз выполняем и смотрим ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.02.2009, 20:40
|
|||
---|---|---|---|
Проблема с удалением записи |
|||
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.02.2009, 20:56
|
|||
---|---|---|---|
Проблема с удалением записи |
|||
#18+
Да, интересно, что-то с хелпом не так, действительно для Not Rushmore работает, а наоборот нет ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.02.2009, 20:57
|
|||
---|---|---|---|
|
|||
Проблема с удалением записи |
|||
#18+
PaulWist Member Вы мне открыли тайну? так что про случай с сет делетед он? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.02.2009, 20:58
|
|||
---|---|---|---|
|
|||
Проблема с удалением записи |
|||
#18+
Извините, но Ваша упертость с кулинаром не имеет границ ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.02.2009, 21:13
|
|||
---|---|---|---|
Проблема с удалением записи |
|||
#18+
прошелмимо так что про случай с сет делетед он? Обратимся к хелпу авторIn the special case that you want to exclude delete records from a query, using an index, as in the first example earlier, will speed up operations when you've set SET DELETED to ON. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.02.2009, 21:22
|
|||
---|---|---|---|
Проблема с удалением записи |
|||
#18+
Саньк, пойду домой время уже пол десятого. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.02.2009, 04:29
|
|||
---|---|---|---|
Проблема с удалением записи |
|||
#18+
mila mavPaulWist, когда я хочу восстановить удаленные данные, т.е пользователь их должен просто записать по-новому возникают проблемы типа сообщения "Ошибки при выполнении многошаговой процедуры", таже ситуация с удалением еще раз введенных данных. т.е получается что мы хотим вставить новую запись, а точно такая же уже есть в БД. Т.к она помечена, как удаленная, пользователь не знает что аналогичные данные уже есть в БД. Вы определитесь хотя-бы для себя - надо только скрыть записи от глаз юзера или надо физически убрать из файла помеченные записи ? Это есть две большие разницы. В первом случае достаточно применить один из многих нехитрых приемов - SET FILTER TO !DELETED(), индекс с условием !DELETED() и пр. В этом случае записи "прячутся", но реально остаются в базе и их можно восстановить командой RECALL. Во втором случае примените команду PACK для данной таблицы. Тогда помеченные записи окончательно уйдут в мир иной. Их уже ничем не восстановишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/moderation_log.php?user_name=I_Am222]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 941ms |
total: | 1114ms |
0 / 0 |