请教大家一个问题,如何把一个带有数据的DataTable填充到DataSet中去?例:            DataSet dS = new DataSet();
          DataTable person=new DataTable();
            
          person = Session["dt"] as DataTable;把person加入到ds中,且能在以下循环中显示出来            foreach (DataRow r in ds.Tables["person"].Rows)
            {
                foreach (DataColumn c in ds.Tables["person"].Columns)
                {
                    Response.Write(r[c.ColumnName]);
                }
            }谢谢!!

解决方案 »

  1.   

    第1个问题
     DataSet dS = new DataSet();
     DataTable table=new DataTable(); 
      table.Columns.Add("C1");
                table.Columns.Add("C2");
                table.Columns.Add("C3");
                table.Columns.Add("C4");
                for (int i = 0; i < 10; i++)
                {
                    DataRow row = table.NewRow();
                    row[0] = i;
                    row[1] = i;
                    row[2] = i;
                    row[3] = i;
                    table.Rows.Add(row);
                }
     dS.Tables.Add(table);
    第二
    看不懂你的列子,你要做什么的?是拿表格的列名?你的嵌套循环中做到了
     
                    foreach (DataColumn c in ds.Tables[0].Columns) //ds.Tables["person"]用表名应该会错 
                    { 
                        Response.Write(r[c.ColumnName]); 
                    } 
      

  2.   

    哦!看错了第二个问题那样就对了,把ds.Tables["person"]用表名应该会错,改成0好一些
    或是在ds.Tables.Add(table,设置表名);
      

  3.   

    DataSet dS = new DataSet(); 
              DataTable person=new DataTable(); 
                
              person = Session["dt"] as DataTable; 
              dS.Tables.Add("person");
              dS.Tables["person"'=person;//把person加入到ds中,且能在以下循环中显示出来             foreach (DataRow r in ds.Tables["person"].Rows) 
                { 
                    foreach (DataColumn c in ds.Tables["person"].Columns) 
                    { 
                        Response.Write(r[c.ColumnName]); 
                    } 
                } 
      

  4.   

    我主要是想实现一个购物车,从SESSION里传来一个DATATABLE类型的表(内含有数据),然后把它加载到DATASET中,并用循环显示出来.
    DataTable person=new DataTable(); 
    person = Session["dt"] as DataTable; --->从SESSION中获的带有数据的表,并放入person中.DataSet dS = new DataSet();--->创建一个DataSet类型的dS.( 此处为:如何把person加入到dS中去?  程序怎么写?请大家帮我写一下 )下面的程序是实现循环显示数据.            foreach (DataRow r in ds.Tables["person"].Rows) 
                { 
                    foreach (DataColumn c in ds.Tables["person"].Columns) 
                    { 
                        Response.Write(r[c.ColumnName]); 
                    } 
                } 
    谢谢!
      

  5.   

    不明白为什么非要加到DataSet中?DataTable person=Session["dt"] as DataTable; 
    foreach (DataRow r in person.Rows) 
                { 
                    foreach (DataColumn c in r.Columns) 
                    { 
                        Response.Write(r[c.ColumnName]); 
                    } 
                } 这样不行吗?