Карта сайтаСсылкиКонтакты

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

PDF Печать
Статьи

Как можно скопировать таблицу?

Есть простой способ копировать целую таблицу базы данных с компонентом 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;

По материалам http://delphi.3000.com


 

Добавить комментарий


Защитный код
Обновить