日期:2014-05-17  浏览次数:20403 次

请问dt.select()中的条件可以是大小判断吗
eg:dt.select("re<1.0") re的类型为float类型,记录中也有可能re为null,我每次加数值判断大小时负数就不能判断,这是怎么回事

------解决方案--------------------

我每次加数值判断大小时负数就不能判断 ? 什么意思
http://msdn.microsoft.com/zh-cn/library/way3dy9w(VS.80).aspx
------解决方案--------------------
C# code
dt.select(" re != null and re < 1.0") ;

or 

dt.AsEnumerable().Where(t=>t.Field<float>("re") != null && t.Field<float>("re") <1.0);

------解决方案--------------------
我就不写代码了, 
参考 
http://jasondct.blog.163.com/blog/static/81820673201179105523929/
------解决方案--------------------
没有问题啊?
DataTable dt = new DataTable();
dt.Columns.Add("txt", typeof(float));
dt.Rows.Add();
dt.Rows.Add();
dt.Rows[0][0] = 2;
dt.Rows[1][0] = -100;
DataRow[] dr = dt.Select("txt<-10");
------解决方案--------------------
我试了下,没问题啊:
C# code
        DataTable dt = new DataTable();
        dt.Columns.Add("价格", typeof(float));
        dt.Rows.Add(-5.2);
        dt.Rows.Add(3.4);
        dt.Rows.Add(DBNull.Value);
        dt.Rows.Add(-1.85);
        DataRow[] rows = dt.Select("价格<-1");
        foreach (DataRow row in rows)
            Response.Write(row[0] + "<br/>");

------解决方案--------------------
比如说ds.select(convert(float,re)< 1.0) 试试看,或者转成其他类型的都试试