rt
肿么样才能从从dataset中检索数据再写入另外一个dataset中

解决方案 »

  1.   


        DataSet copyDataSet=new DataSet ();//copyDataSet表示目标DataSet 
        copyDataSet.Tables.Add(dataSet.Tables[0].Select(" id>5,Name='Chinajiyong'"));//dataSet表示源DataSet ,dataSet.Select(" id>5")表示选择id字段值大于5且Name='Chinajiyong'的数据参考
      

  2.   

    参考MSDN http://msdn.microsoft.com/en-us/library/system.data.dataset.aspx
      

  3.   

    我的检索条件是可变的,比如,
    copydataset.tables.add(dataSet.Tables[0].Select(" id>"+i,Name='Chinajiyong'"));)
    这样在性能上有没有优化的方法呢?
      

  4.   

    检索条件可变是什么意思?
    string sWhere=检索的where条件
    copydataset.tables.add(dataSet.Tables[0].Select(sWhere));)自己拼接吧
      

  5.   

    你的方法有问题,中间要用datatable转换下。
      

  6.   

    dataset.Tables.Count 来循环 再放到 别的dataset里。。
    比如,
    DataSet ds = new DataSet();
                for (int i = 0; i < ds.Tables.Count; i++)
                {
     
                }
      

  7.   

    问题已经解决了。将测试代码贴上
    private DataSet testMainPoint()
        {
            DataSet testDataset = new DataSet();
            //to do something
           DataTable dt = new DataTable();
            DataColumn dc1 = new DataColumn("01", typeof(string));
            DataColumn dc2 = new DataColumn("02", typeof(string));
            DataColumn dc3 = new DataColumn("03", typeof(string));
            DataColumn dc4 = new DataColumn("04", typeof(string));
            DataColumn dc5 = new DataColumn("05", typeof(string));
            dt.Columns.Add(dc1);
            dt.Columns.Add(dc2);
            dt.Columns.Add(dc3);
            dt.Columns.Add(dc4);
            dt.Columns.Add(dc5);
            DataRow newRow;
            for (int i = 0; i < 5; i++)//loap for insert to table.
            {
                newRow = dt.NewRow();
                newRow["01"] = "a";
                newRow["02"] = "b";
                newRow["03"] = "a";
                newRow["04"] = "b";
                newRow["05"] = "b";
                dt.Rows.Add(newRow);
            }
                GridView1.DataSource = testDataset.Tables[0].DefaultView;
            GridView1.DataBind();
            return testDataset;
        }