4 2 1分成三个Table?

解决方案 »

  1.   

    返回值 也不一定要返回N个DT   ~  函数为void类型也行 只要把数据分好组  随便赋值给3个DT 全局变量  甚至随便几个字符串也行
      

  2.   

    select 选修 from table group 选修
    得到选修的分类个数然后再
    select * from table where 选修='语文'
    select * from table where 选修='数学'
    select * from table where 选修='英语'
    ...
      

  3.   

    把你要分组的所有选修种类先查出来放在一个种类数组里   把所有数据查出来放在一个总表里
    在建一个dataset 
    然后循环种类数组的 每一次循环新建一个datatable
    根据种类数组[i]的值在刚才那个总表里筛选  然后赋值给每次循环开始新建的datatable
    把datatable  Add到dataset
      

  4.   

    兄弟,数据库里直接加条件查询出来不就行了,select * from tableName where 选修 = '语文'
    一次一个,思路清晰
      

  5.   

    datatable.select(选修=数学)好像是这样  忘记了 你试试吧
      

  6.   

    ~因为数据库很大 所以 不能用sql语句 一点一点查询,就是现在手里只有一个DataTable类型的数据集,然后需要做这么一个分组操作~听说操作DataTable好像有类似sql语句的筛选数据方式  所以来求~~~~
      

  7.   

    我用过下面的方法,
    你调用3次就可以了 public bool u_ds_searchSQL_FromField_ret_Tbl(DataTable dt, string filedX, string searchStr, out DataTable resultTbl)
    {
    bool result = false;
    resultTbl = dt.Clone();
    //SQLで、フィルドを検索
    string strFormat = filedX + @"=   '{0}'";
    string sqlStr = String.Format(strFormat, searchStr);
    System.Data.DataRow[] DRReply = dt.Select(sqlStr); for (int i = 0; i < DRReply.Length; i++)
    {
    DataRow myDatarow = resultTbl.NewRow();
    myDatarow.ItemArray = DRReply[i].ItemArray;
    resultTbl.Rows.Add(myDatarow);
    myDatarow = null;
    } result = (DRReply.Length == 0) ? false : true; return result;
    }
      

  8.   

    DataRow [] rows1=DataTable.Select("选修="数学"");
    DataRow [] rows2=DataTable.Select("选修="语文"");
    你可以考虑用这种方式