Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Удалить удаленное... [D6, D7, MySQL, dBase, FoxPro]


Паша_ ©   (2003-12-24 20:43:00) 

Здраствуйте мастера. Программным путем (Table.delete или SQL.add("delete from таблица")) я удаляю записи в базе данных, естественно они помечаются только на удаление (не отображаясь в гриде). Как востановить удаленные записи(убрать пометки)?


YuRock   (2003-12-25 12:29:00) [1]

>sniknik ©Ну, спасибо, что сказал. Я раньше этого хелпа не видел. Спасибо.


sniknik   (2003-12-25 11:19:00) [2]

YuRock © (24.12.03 22:47) [3]
> Упаковать же таблицу (или восстановить записи) средствами BDE нельзя (сколько не бился!).
именно средствами BDE и можно см dbiPackTable, dbiDoRestructure ....
функции BDE в хелпе примерно тут "D:\Program Files\Common Files\Borland Shared\BDE\BDE32.HLP"


Sandman25   (2003-12-25 10:32:00) [3]

Паша_ (24.12.03 20:43)

Если нужно будет восстанавливать, то не удаляйте записи, а заведите поле Is_Deleted типа Logical, и присваивайте ему True для удаленных записей. Естсественно, все запросы для отображения в гриде должны включать AND Is_Deleted = False.


Кщд   (2003-12-25 05:51:00) [4]

Rem © (24.12.03 21:36) [1]
Паша_ дело говорит

YuRock © (24.12.03 22:47) [3]
DbiPackTable?


YuRock   (2003-12-24 22:47:00) [5]

Вообще такая херня происходит только в некоторых драйверах (FoxPro, DBase и по-моему все). По другому быстро удалить запись в таких базах нельзя, по-этому BDE тоже так делает. Упаковать же таблицу (или восстановить записи) средствами BDE нельзя (сколько не бился!).

Предложения:
1. Упаковать можно создавая новую таблицу переписав в нее все (активные) записи.
2. Восстановить удаленные записи можно попробовав написать dll"ку на каком-нибудь клиппере (напр. CA-Visual Objects или Visual FoxPro).


Rem   (2003-12-24 21:38:00) [6]

>> Программным путем
Хотя, может, действительно, попробовать аппаратным путем? Винчестер молотком постучать, например. Тогда точно удалятся!


Rem   (2003-12-24 21:36:00) [7]

"Скушай этих вкусных орешков..." (С) Белочка

> естественно они помечаются только на удаление
Откуда ты ЭТО взял?


Наверх

Титульная страница Поиск, карта сайта Написать письмо