...

解决方案 »

  1.   

    with  ADOStemp do
       begin
         Close;
         fieldDefs.clear ;
         for i =0 to adossource.fielddefs.count;
         begin
           with FieldDefs.AddFieldDef do 
           begin
             DataType := adossource.fielddefs.items[i].datatype;
             Name := adossource.fielddefs.items[i].name;
           end; 
         end;
         CreateDataSet ;
        //添加数据
      end;
      

  2.   

    Table与数据库表空表连接,把Table的CachedUpdates设置为true,输入数据并导出然后执行table1.CancelUpdates;
      

  3.   

    还有别的方法吗?我的意思是最好让建立的内存表里能够获取数据库表的约束关系(主键和Unique).
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      DataSetProvider1.DataSet := ADOTable1;
      ClientDataSet1.ProviderName := DataSetProvider1.Name;
      ClientDataSet1.Open;
      ClientDataSet1.EmptyDataSet;
    end;説明:用「TClientDataSet」和「TDataSetProvider」复制数据库表