LISTVIEW中有1万多条数据,有没有办法可以将选中移到右边多条数据做为查询的条件。
我试了两种方法,发现都不行。
1、直接用IN ,但是数据太长。SQL在查询时就会报错。
2、将移到右边的这些数据存入一个新表中,SQL查询时与该表关联查出。但是如果有多人对LISTVIEW 操作的话,新表的值就会变动到。
大牛们,有没有什么好办法呀。listviewSQL

解决方案 »

  1.   

    一般都是 选中每条记录,然后查询该记录下的子项,比如1万条订单,选中订单,查询该订单产品设计应该以逐层向下的原则,如果是并行的话,可以考虑树的结构,筛选大类或者小类LISTVIEW可以考虑分页
      

  2.   

    我表达不好,可能造成误解了。
    是这样的,是一个页面有两个LISTVIEW ,LISTVIEW1 和LISTVIEW2。
    将LISTVIEW1的数据移动到LISTVIEW2 中。LISTVIEW2中的数据因为是大家手动移到右边的,没有规律性。
    所以没法用大类或者小类来选择。LISTVIEW2中的数据做为参数传到数据库。数据库根据此条件查询。但因为LISTVIEW2中数据过多。没法直接用IN来做查询,效率也低。
    如果用表来存储这个数据,如果多人操作的话。LISTVIEW2中数据一直在变动。导致数据库中的数据也在变动。这会影响到查询的结果。所以也不正确。有什么办法可以操作吗?
      

  3.   

    我想,你误解了我的意思。
    终端电脑负责数据库查询/修改数据,并向汇总的那台电脑发送自己修改的那部分数据。可以使用Socket。
    汇总电脑负责把某一时间段的作汇总。最好是把数据做成有索引有序的List<T>(Dictionary<T, T>没有Insert方法),有序的数据在查询/增添/修改数据都非常方便。
    我说的时间段不是让你去匹配时间。意思是,在一段时间内接收的数据进行处理,后面接收的数据存进Buffer,等下一个时间段。
    一万多条数据应该占不了20M内存吧?对于有索引并经过排序的数据来说,数据量不大。
    另外,建议别使用Sort()。
    这还是不行呀。你想想看。我数据库中有一万多条数据。每台电脑去对应这些数据这个表就已经很大了。在和时间去匹配。那这张表的数据量就够恐怖了。