本帖最后由 edwardcsdn 于 2010-06-22 16:14:07 编辑

解决方案 »

  1.   

    数据服务器连接压力不大的话不要放到datatable里去筛选,用SQL去数据库提取看得比较清楚
    你会不会是在程序里用了已筛选了的datatable又去做下一次筛选了?
      

  2.   


    存储筛选数据的DataTable是一个全局变量。每次操作不会改变其中的值,只是创建出新的DataTable绑定到GridView。
      

  3.   

    那一般是筛选时条件写的不对,或datatable拿出来的数据和你想要的格式有差别。遭成数据缺少
      

  4.   


    我对每次操作记录了一个日志。把对应的SQL语句选出来后,在企业管理器里执行数据就没有出现丢失。
      

  5.   

    断点进去,看下哪次的datatable筛选后数据缺少了。我觉得那个是应该有规律的。比如几个条件联动,或是哪几张特定表
      

  6.   

    设置个断点很容易就能找到问题 
    可以把生成的SQL放进查询分析器去执行 少数据肯定是SQL问题 不会到了DATATABLE中还少的要是没耐心 可以程序发给我  我帮你看
      

  7.   

    出现频率高吗?高的话只能连在客户那蹲点一段时间了
    你写一个筛选的sql,放进程序里,就是说datatable生成的SQL你在程序里执行下,记录行数,再记下筛选后的table的count。都写进日志。那样出现问题时,可能能看出点什么东西  
      

  8.   

    LZ的命名不太好
    有的命名跟系统默认的,有的情况下会出现冲突,有的时候会隐藏,建议LZ先
    string strSql = "SELECT [ID],Info,IDNum,[Name],[Class],LogTime,Statu,CASE datalength(Re) WHEN 0 THEN '' ELSE 'Attention' END AS RM,CASE Statu WHEN '1' THEN '未注册' WHEN '2' THEN '已注册' WHEN '3' THEN '锁定' WHEN '4' THEN '注销' END AS TS FROM STClass where 1=1 ";LZ贴的代码太多了…