DataTable dt = new DataTable();
        dt.Columns.Add("a");
        dt.Columns.Add("strs");
        DataRow dr = dt.NewRow();
        dr[0] = "1";
        dr[1] = "2009-10-10 12:00:00";
        dt.Rows.Add(dr);
        DataRow dr1 = dt.NewRow();
        dr1[0] = "2";
        dr1[1] = "2009-11-10 12:00:00";
        dt.Rows.Add(dr1);
        DataRow[] drs = dt.Select("convert(datetime,strs) >= '" + DateTime.Now + "'");
        Response.Write(drs.Length);
table 中的 strs 列 是一个字符串(必须使用varchar)  里边写有日期 我要在下边过滤大于等于今天的数据。这样写报错,要如何写才能达到要的效果。求教各位大侠 。

解决方案 »

  1.   

    试试这样
    name 是名称,或者直接用 index
    >0 是距离今天的日期> 0天的意思dt.Where(c => SqlMethods.DateDiffDay(convent.ToDateTime((string)c["name"]), DateTime.Now) >0).ToList();
      

  2.   


    DataTable dt = new DataTable();
                dt.Columns.Add("a");
                dt.Columns.Add("strs");
                DataRow dr = dt.NewRow();
                dr[0] = "1";
                dr[1] = "2009-1-10 12:00:00";
                dt.Rows.Add(dr);
                dr = dt.NewRow();
                dr[0] = "2";
                dr[1] = "2009-10-1 12:00:00";
                dt.Rows.Add(dr);
                dr = dt.NewRow();
                dr[0] = "2";
                dr[1] = "2009-11-10 12:00:00";
                dt.Rows.Add(dr);            DataRow[] drs = dt.Select("Convert(strs,'System.DateTime') >= '" + DateTime.Now + "'");
                Console.Write(drs.Length);