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

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

помогите [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. Вопросы по БД помещай в раздел "Базы данных", а не куда попало, лишь бы спросить


Наверх

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