Поиск:

Ответ в темуСоздание новой темы Создание опроса
> FireDAC упаковать DBF файл, физическое удаление записи из DBF 
:(
    Опции темы
GraNit
Дата 11.6.2020, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 20.10.2007

Репутация: нет
Всего: нет



Приветствую всех!

Давно не программировал базы. Моя последняя запись здесь с 2012 года. Видать "много воды утекло" с той поры.
Суть проблемы: поставил RAD Studio 10.4. Поставил ADS, прикрутил к RAD. Получаю доступ к dbf файлу, т.е. просмотр без проблем. Необходимо удалить все записи в файле. Прометка на удаление проходит "на ура!", а вот физическое удаление никак. Как работает этот FireDAC? Может я что-то упускаю? Путь к файлу получаю параметром через командную строку. На форме лежат FDConnection и FDTable. В FDConnection и FDTable параметр UpdateOptions все флажки ReadOnly сняты. 
 Ниже код:
Код

void __fastcall TForm1::FormCreate(TObject *Sender)
{
    // Получим строку с DBF файлом
    myDBFFile = ParamStr(1);

    myFile = ExtractFileName(myDBFFile);
    myPath = ExtractFileDir(myDBFFile)+UnicodeString("\\");

    // передадим нужные параметры в Conection и Table1
    newDatabase= "Database="+myPath;
    FDConnection1->Params->Add("ServerTypes=Local");
    FDConnection1->Params->Add(newDatabase);
    FDConnection1->Params->Add("TableType=VFP");
    FDTable1->TableName=ChangeFileExt(myFile,"");
    FDTable1->Exclusive = True;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormActivate(TObject *Sender)
{
// и подключимся к базе
    FDConnection1->Connected = True;
    FDTable1->Active = True;

// очистим таблицу

    FDTable1->First();
    while (FDTable1->RecNo<FDTable1->RecordCount-1){
         FDTable1->Delete();
         FDTable1->Edit();
         FDTable1->Post();
    }
    FDTable1->Refresh();
}

В базе все записи промечены на удаление, но не удалены физически. 
Что не так?
Благодарствую за помощь.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах.

Благодарим за понимание.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Базы данных | Следующая тема »


 




[ Время генерации скрипта: 0.1086 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.