Внешний вид сайта:

Копирование таблицы (структура и содержание)

Как можно скопировать таблицу? Есть простой способ копировать целую таблицу базы данных с компонентом TTable:
procedure CopyTableStructure(Source: TTable; DB,Dest: string);
var NewTable: TTable;
 
begin
   NewTable := TTable.Create(self);
   with NewTable do
   begin
     Databasename := DB;
     Tablename := Dest;
     FieldDefs.Assign(Source.FieldDefs);
     IndexDefs.Assign(Source.IndexDefs);
     CreateTable;
     NewTable.Destroy;
   end;
end;

Параметры, которые Вы должны передать этой функции - открытый объект TTable, BDE псевдоним и имя новой таблицы:

Table1.Active := true;
CopyTableStructure(Table1,'DBALIAS','NewTable');

Копирование всего содержимого также просто:

var
    hs: string;
    i: integer;
    { ... }
   Source.First;
   with NewTable do
   begin
     while not Source.EOF do
     begin
       Append;
       for i := 0 to Source.FieldCount - 1 do
       begin
         hs := Source.Fields[i].FieldName;
         NewTable[hs] := Source[hs];
       end;
       Source.Next;
     end;
   end;
 // Source должен быть от типа TDataset
 // (например: TTable, TQuery или
 // TClientDataset).
 
 // И не забудьте Post.........
 
end;
       Source.Next;
     end;
   post;
end;

Комментарии

Нет комментариев. Ваш будет первым!