Консультация № 15917
11.01.2005, 04:21
0.00 руб.
0 4 4
Здравствуйте уважаемые эксперты.
ПОмогите пожалуста с программированием баз давных на Cbuilder.
Нужно удалить запись из базы.
Пишу
Table1-?>Delete();
Удаляет.
Но при следующем запуске программы запись вновь появляется в таблице то есть физически она не удаляется.
Использование компонента DBnavigatotor дает тотже эффект.
Как удалить запись физически?
Заранее благодарен.

Обсуждение

давно
Мастер-Эксперт
425
4118
11.01.2005, 07:12
общий
это ответ
Здравствуйте, Spiderman!
Какой тип БД Вы используете?
Если Ваша БД работает на основе транзакций, то удаление, дополнительно, нужно подтвердить командой Commit.
Если работает обычная буферизация, то скорее всего достаточно просто перейти к другой строке таблицы.
В базах dBase-подобных физическое удаление не происходит, а просто запись помечается как удаленная. Для физического удаления записи необходимо упаковать таблицу.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
11.01.2005, 08:12
общий
это ответ
Здравствуйте, Spiderman!
Для ответа надо знать, КАКАЯ это таблица. А навигатор добавляет только сервис и все
Неизвестный
11.01.2005, 13:41
общий
это ответ
Здравствуйте, Spiderman!
Яснее выражайся - КАКОЙ таблицы?
Для всех DBEngine/ODBC надо ещё Update делать. Для BDE вроде тоже и ВСЕГДА закрывать таблицу.
Неизвестный
11.01.2005, 16:05
общий
это ответ
Здравствуйте, Spiderman!
По аналогии с делфи. Просто необходимо после каждого изменения в таблице, эти изменения сохранить. В делфи это делается так: table1.post; Т.е. вам необходимо запускать функцию post после каждого изменения, если вы желаете сохранить информацию.
Форма ответа