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

C# 里面的DataView 通过RowFilter过滤,出现奇怪的错误
dataTable 里面有一列值 high_value 分别为 5000001, 100000001,105000001...
我的条件是 dv.RowFilter = " high_value > " + Value + " and high_value <= " + (Value + 5000000);
value值是 1
报错无法在System.String 和System.Int32上执行 ">" 操作。


可是当dataTable 里面有一列值 high_value只有 5000001这个值时,同样的过滤条件又通过了

到底是什么问题呢?

------解决方案--------------------
注意字符串拼接
dv.RowFilter = " high_value > '" + Value.ToString() + "' and high_value <= '" + (Value + 5000000).ToString()+'";