Удаление помеченных записей

ЧАстые Вопросы и Ответы

Модераторы: kdv, CyberMax

Ответить
Vladimir03
Сообщения: 15
Зарегистрирован: 13 июн 2006, 07:54

Удаление помеченных записей

Сообщение Vladimir03 » 13 июн 2006, 08:05

Я использую C++ Builder компонент IBTable с компонентами IBDatabase и IBTransaction. Подскажите мне пожалуйста, при работе с компонентом IBTable по методу Delete() запись помечается на удаление или удаляется физически? Если помечается, то как удалить физически помеченные записи?

Ivan_Pisarevsky
Заслуженный разработчик
Сообщения: 644
Зарегистрирован: 15 фев 2005, 11:34

Re: Удаление помеченных записей

Сообщение Ivan_Pisarevsky » 13 июн 2006, 08:26

Vladimir03 писал(а):Я использую C++ Builder компонент IBTable с компонентами IBDatabase и IBTransaction. Подскажите мне пожалуйста, при работе с компонентом IBTable по методу Delete() запись помечается на удаление или удаляется физически? Если помечается, то как удалить физически помеченные записи?
Предлагаю принять удобную тему и часок помедитировать с контекстом "Изыди фокс, фокс изыди, нечистый!", потом со спокойной совестью выкинуть ибтэйбл, как ненужный хлам. Иначать наконец работать при помощи Структурал квери ленгвидж, SQL то бишь

Ps нет никаких пометок на удаление, как закомичил транзакцию, так и кирдык, не воротишь ужо.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 13 июн 2006, 08:27

Она помечается как удаленная в твоей транзакции. потом кто-нибудь соберет этот мусор. Почитай про MGA.

CyberMax
Заслуженный разработчик
Сообщения: 638
Зарегистрирован: 31 янв 2006, 09:05

Re: Удаление помеченных записей

Сообщение CyberMax » 13 июн 2006, 08:34

Vladimir03 писал(а):Я использую C++ Builder компонент IBTable с компонентами IBDatabase и IBTransaction.
Забудь про IBTable. Используй TIBDataSet.
Vladimir03 писал(а):запись помечается на удаление или удаляется физически? Если помечается, то как удалить физически помеченные записи?
Почитай про транзакции в доках на http://www.ibase.ru.
Вкратце: записи считаются удаленными ТОЛЬКО для транзакции, в контексте которой работает TIBTable (для других транзакций они действительны). Они становятся реально удаленными ТОЛЬКО при команде Commit компонента TIBTransaction. При команде RollBack "удаление" записей отменяется.

P.S. Почитай обязательно литературу про реляционные базы данных. "Введение в системы баз данных" от Дейта должна стать твоей настольной книгой :D .

Ответить