object minObject;
minObject = ds.Tables[0].Compute("min(visitdatetime)","");我的这个visitdatetime字段是日期的“2013/8/1 10:00:07”
为什么我这样查询出来,不是ds里的日期的最小项,请问大侠,应该怎么弄啊?

解决方案 »

  1.   

    refer:
    static void Main(string[] args)
            {
                DataTable dt = new DataTable();
                dt.Columns.Add("visitdatetime", typeof(DateTime));            DataRow dr = null;
                dr = dt.NewRow();
                dr["visitdatetime"] = DateTime.Parse("2013/8/1 10:00:07");
                dt.Rows.Add(dr);            dr = dt.NewRow();
                dr["visitdatetime"] = DateTime.Parse("2013/8/2 10:00:07");
                dt.Rows.Add(dr);            dr = dt.NewRow();
                dr["visitdatetime"] = DateTime.Parse("2013/7/1 10:00:07");
                dt.Rows.Add(dr);            dr = dt.NewRow();
                dr["visitdatetime"] = DateTime.Parse("2013/6/1 10:00:07");
                dt.Rows.Add(dr);            dr = dt.NewRow();
                dr["visitdatetime"] = DateTime.Parse("2013/7/2 10:00:07");
                dt.Rows.Add(dr);            object obj = dt.Compute("min(visitdatetime)", "");
                Console.WriteLine(obj); //输出 2013/6/1 10:00:07
            }
      

  2.   


    那给这个ds的的这个字段都统一改成datetime格式的,请问应该怎么弄啊?
      

  3.   

    就可以参考我上面的方法,弄个循环,添加到你建的这个datatable中,不用fill(ds)方法。
      

  4.   

    我想直接把原来的datatable的这个字段直接改成datetime的,可以弄吗,应该怎么弄啊?
      

  5.   


    datatable里面有数据了,就不能改类型了。
      

  6.   

    因为你的datatabel 有数据
    不能够直接 更改列类型
    可以: DataTable dtResult = new DataTable();
                //克隆表结构
                dtResult = dt.Clone();//dt 你的原始数据表
                //修改列类型
                dtResult.Columns["Date"].DataType = typeof(DateTime);
                foreach (DataRow row in dt.Rows)
                {
                    dtResult.Rows.Add(row.ItemArray);
                }
                string cdate = dtResult.Compute("min(Date)", "").ToString();
      

  7.   

    Refer:
    http://www.cnblogs.com/insus/archive/2013/05/13/3075994.html