![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
помогите [D5, Win95/98]
катерина © (2001-12-25 14:53:00)Как мне удалить запись из таблицы FoxPro средствами Delphi(только пожалуйста не пишите Table1.Delete-мне нужно физическое удаление, а не помета на удаление...или хотя бы как сделать , чтобы помеченные записи игнорировались)
Фе (2001-12-26 01:46:00) [1]Удалено модератором
DeNNiss (2001-12-25 15:48:00) [2]uses BDE;
Table1.Close;
Table1.Exclusive:= true;
Table1.Open;
Check(DBIPackTable(Table1.DBHandle, Table1.Handle, nil, nil, true));
Table1.Close;
Table1.Exclusive := false;
Table1.Active:=true;
Digitman (2001-12-25 15:06:00) [3]физическое удаление записей в DBF можно осуществить только при монопольном доступе к таблице прямым вызовом BDE-ф-ции упаковки таблицы. Только так и не иначе. Удаляемые методом TTable.Delete записи действительно просто помечаются как удаленные, но BDE по-умолчанию игнорирует их ! Т.е., действует так, как и положено : раз запись "удалена", она не включается в результ.НД. Странно, что ты "видишь" эти записи без специальной "хитрой" настройки BDE (не думаю, что в таблице есть индекс по удаленным записям - такие индексы в Fox тоже возможно создать)
P.S. Вопросы по БД помещай в раздел "Базы данных", а не куда попало, лишь бы спросить