我用SqlDataAdapter获取数据,存在了一个DataSet dsSql中,为Tables[0],然后我新建了一个DataTable 名为dt1,我想用dsSql.Tables[0]中的某些DataColumn填充到新的dt1中,该怎么实现呢?因为列不是全部填充,不能用循环,我写过类似
DataColumn dcID =dsSql.Tables[0].Columns["ID"];
dt1.Columns.Add(dcID);
这样的代码,但报错为这个DataColumn已经属于另一个DataTable了..
求教高手该怎么做才能用已有的DataTable中的某写DataColumn来填充或建立新的DataTable呢?

解决方案 »

  1.   


             dt = new DataTable();
             dt.Columns.Add(new DataColumn("字段", typeof(System.String)));
             DataRow dr = dt.NewRow();
             dr["字段"] = "123";
             dt.Rows.Add(dr); 
      

  2.   

    dt1.Columns.Add(dcID.ColumnName,dcID.DataType);
      

  3.   

             dt1.Columns.Add(new DataColumn("dcID", typeof(System.String)));//可用可不用后面那个类型参数
             DataRow dr = dt1.NewRow();
             dr["dcID"] = "1";
             dt1.Rows.Add(dr);       如果是要直接复制所有那个列的数据则
              dt1.Columns.Add(new DataColumn("dcID", typeof(System.String)));//可用可不用
              DataRow dr_Temp;
              foreach(DataRow dr in dsSql.Tables[0].Rows)
             {
                dr_Temp=dt1.NewRows();
                dr_Temp["dcID"]=dr["dcID"];
                dt1.Rows.Add(dr_Temp);
             }
      

  4.   

    回2楼,数据在已有的数据库中,这样做我怎么复制过来呢?回3楼,这样只能建立和已有Column相同的ColumnName和DataType,但是数据怎么复制呢?我主要就是想问问已有的Column中的数据怎么复制过来...
      

  5.   

    DataTable mydt=ds.tables[0].copy();
    mydt.columns.Remove(列名);