Delphi World - Как скопировать BDE таблицу
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Как скопировать BDE таблицу

Данный пример копирует таблицу, достаточно только указать каталог, имя исходной таблицы и имя каталога куда копировать остальное сделает BDE, скопирует таблицу, все индексы и связанные файлы.


uses 
   DB, DBTables, DbiProcs, DbiErrs, DbiTypes;
 
 procedure CopyTable(FromDir, SrcTblName, ToDir, DestTblName:
 String);
 var
   DBHandle: HDBIDB;
   ResultCode: DBIResult;
   Src, Dest, Err: Array[0..255] of Char;
   SrcTbl, DestTbl: TTable;
 begin
   SrcTbl := TTable.Create(Application);
   DestTbl := TTable.Create(Application);
   try
     SrcTbl.DatabaseName := FromDir;
     SrcTbl.TableName := SrcTblName;
     SrcTbl.Open;
     DBHandle := SrcTbl.DBHandle;
     SrcTbl.Close;
     ResultCode := DbiCopyTable(DBHandle,false,
       StrPCopy(Src,FromDir + '\' + SrcTblName), nil,
       StrPCopy(Dest,ToDir + '\' + DestTblName));
     if ResultCode <> DBIERR_NONE then
     begin
       DbiGetErrorString(ResultCode,Err);
       raise EDatabaseError.Create('While copying ' +
         FromDir + '\' + SrcTblName + ' to ' +
         ToDir + '\' +  DestTblName + ', the '
         + ' database engine   generated the error '''
         + StrPas(Err) + '''');
     end;
   finally
     SrcTbl.Free;
     DestTbl.Free;
   end;
 end;

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования