在table中有数据库中的全字段的数据,现在想取需要的几列到新的new_table中??
请问各位有什么好的方法可以实现,请详细说明!最后能附上实例,谢谢!
如下:
public int SelectById(DataTable new_table,int maxnum,int pagenum,out int rcount)
{
   DAL.XXX t = new XXX()
   DataTable table = new DataTable();
   int flag = t.SelectALL(table,maxnum,pagenum,rcount)
   /*
      ??????? 怎么实现????????????
   */
  return flag;
}

解决方案 »

  1.   

    因业务逻辑需要只取table中的几列数据到新的new_table中就行了
      

  2.   

    新建 new DataTable("a")
    for ( 循环原来所有的行)
    {
     在新的DataTable最佳行 = 原来的 DataTable[要选择的列][i];
    }
      

  3.   

    DataSet ds = 原来的;
    DataSet newds = 现在的;newds.Merge(ds.Table["表名"].Select("条件"));
      

  4.   

    lz,
       表中的列是固定的吗?如果是固定的,就很简单,你直接在数据库里连视图即可。如果是动态的,那么就稍微复杂写,你在程序你动态创建视图。use 数据库
    goif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[视图名]') and OBJECTPROPERTY(id, N'IsView') = 1)
    drop view [dbo].[视图名]
    GOCREATE VIEW 视图名
      SELECT 列1,列2,列3。。from  表
      

  5.   

    dtOld//全部列数据DataTable dtNew = DataTable();
    dtNew.Columns.AddRange(new DataColumn[]{new DataColumn("Column1"),...});
    foreach(DataRow dr in dtOld.Rows)
    {
      DataRow drNew = dtNew.NewRow();
      drNew["Column1"] = dr["Column1"];
      ...
      dtNew.Rows.Add(drNew);
    }
      

  6.   

    一般来说没有必要这么做,因为你在使用DataTable(DataSet)的时候,你要手动绑定,或者手动处理。而不要全部都用就可以了。