上面只是个例子,代码太多了,关联很多个文件,不能一下子整理贴出来!
第一次从数据库读数据出来时用dt.Select()方法得到的结果是正确的,当改变dt表中的数据时再用dt.Select方法时得到的数据就不正确了!
之前也有过很多人问过类像的问题在csdn.net,可是都没有得出个满意的答案啊!
郁闷

解决方案 »

  1.   

    是你的数据或者程序有问题,DataTable.Select这个我经常用,没有问题的。
      

  2.   

    我都用了无数次DataTable.Select了
      

  3.   

    这样使用应该不会有问题,你这样测试一下,在使用dt.Select()之前,先把dt中["金额"]这一列输出看下是什么内容
      

  4.   

    datatable 是不是绑定出来的啊,金额的数据类型是不是 非数字的字段啊?
      

  5.   

    这个问题我碰到过,现在还没有解决方案,我的问题出现在短时间内对同一datatable进行多次select操作造成的,我的select的频率大概在每秒30次以上。我的解决方法是将这datatable.copy()到新的表中,再由新表来select获得,但是这个性能问题会随着数据量的增大而极具下降。
      

  6.   

    DataTable.Select这个我经常用,没有问题的还是检查一下你的程序吧
      

  7.   

    其实就看你这一句,dt.Select("金额>0").Length,你说结果等于0,有几种情况。
    1、dt数据表里本身就没有满足这些条件数据,
    2、如果有满足的条件数据,“金额”的数据类型是什么,是不是数值。
    3、如果数据类型不对,可能转换一下,比如:dt.Select("Convert(numeric(15,2),金额) > 0").
    总之我认为Select应该没有问题的。
      

  8.   

    肯定是条件有错,把DataTable的数据打印出来一比就知道原因了
      

  9.   

    我select 出来的结果也不datatable中有的数据。有人知道答案吗???