BaiT |
Отправлено: 17.06.2006, 11:55 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 6
|
Подскажите в чем проблема.
В базе данных формата dBase 5.0 пытаюсь удалить запись с помощью функции ADOTable1->Delete(). Но запись удаляется только визуально, т.е. в программе её не видно, но в файле *.dbf она остаётся.
Никаких транзакций не использую. Кеширования тоже нет.
P.S. Если открыть файл *.dbf с помощью Database Desktop, то якобы удаленные записи не отражаются, но нумерация записей ведется с их учетом.
|
|
olegenty |
Отправлено: 17.06.2006, 12:21 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
ну так поинтересуйся, что такое dbf и что там такое есть удаление. сразу окажется, что записи ФИЗИЧЕСКИ НЕ УДАЛЯЮТСЯ, а лишь помечаются, как удалённые символом "*". для физического удаления записей *.DBF надо паковать.
|
|
BaiT |
Отправлено: 17.06.2006, 16:31 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 6
|
Виноват, не поинтересовался. Но не мог бы ты еще объяснить глупому, что такое есть "паковать" (и если не трудно какой-нибудь пример)?
Просто я с БД работаю не более месяца и со многими приемами еще не знаком. Заранее спасибо!
Отредактировано BaiT — 17/06/2006, 16:31
|
|
olegenty |
Отправлено: 19.06.2006, 07:55 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
паковать, это значит ты запустишь нечто, что физически удалит записи, помеченные звёздочками. либо тулзу, либо средствами BDE, что-то там такое возможно, но не помню, BDE не пользуюсь больше 5-и лет.
|
|