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

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

разрушение структуры таблицы [D5, D7, dBase, FoxPro]


Kein ©   (2004-04-07 14:26:00) 

Люди помогите! При записи в таблицу dBase при количестве записей около 200.000 идет ошибка о разрушении структуры таблицы, в чем может быть дело?


Семен Сорокин   (2004-04-07 14:40:00) [1]

реструктуризация для парадокса:

function RestructBase(aDB: TDatabase): boolean;
var
  _i     : integer;
  _list  : TStrings;
  Props  : CURProps;
  hDb    : hDBIDb;
  tblDesc: CRTblDesc;
begin
 Result := true;
 aDB.CloseDataSets;
 _list := tStringList.Create;
 try
  Session.GetTableNames(aDB.DatabaseName, '*.db', false, false, _list);
  for _i := 0 to _list.Count - 1 do
   with TTable.Create(nil) do
    try
     DatabaseName := aDB.DatabaseName;
     TableType    := ttParadox;
     Exclusive    := true;
     TableName    := _list[_i];
     try
      Open;
      Check(DbiGetCursorProps(Handle, Props));
      FillChar(tblDesc, SizeOf(tblDesc), 0);
      Check(DbiGetObjFromObj(hDBIObj(Handle), objDATABASE, hDBIObj(hDb)));
      StrPCopy(tblDesc.szTblName, _list[_i]);
      StrPCopy(tblDesc.szTblType, Props.szTableType);
      tblDesc.bPack := True;
      Close;
      DbiDoRestructure(hDb, 1, @tblDesc, nil, nil, nil, False);
     except
      on E: Exception do begin
       MessageDlg('Ошибка перестроения:' + E.Message, mtError, [mbOk], 0);
       Result := false
      end
     end
    finally
     Close;
     Free
    end
 finally
  _list.Free
 end
end;


Наверх

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