现在有这么个需求:根据线路名称line从表Userprofile中找出userid和moterid,然后再根据userid和moterid从表energer中找出需要的数据(几个列数据,就不写出了),然后绑定到Gridview中,该怎么实现?
  (需要注意的是根据line从Userprofile找出的userid和moterid是大量的(一般是几千条以上))。
我的想法是先通过DataReader找出userid和moterid,然后通过read()方法循环,循环语句中通过Dataset绑定到Gridview中,但问题出现了,只能绑定最后一条userid和moterid,前面的都被覆盖掉了。
    我不想直接用一条sql语句整出,那样会出现其它问题......
    希望大家能给我一个能够嵌套循环绑定的方法来解决此问题,此问题我想了一天多了,不知怎么弄,忘大家指点一下。

解决方案 »

  1.   

    写一个视图或者存储过程,在循环的外面定义一个集合,符合条件的就存入集合中,循环完了在绑定到gridview
      

  2.   

    首先看你的SQL条件是否是查出一条数据,如果不是,如下
    while(dr.read())
    {}
      

  3.   

    问题是绑定到Gridview的点,如何解决?
      

  4.   

    做法类似
    http://dotnet.aspx.cc/article/f73eeaa9-2bdc-47fd-afd2-59f2fa4897f5/read.aspx你改出自己的即可
      

  5.   

    您看这个sql是你说的把
    select * from energer join Userprofile on 
    energer .userid=Userprofile. userid and energer moterid=Userprofile ..moterid
    where Userprofile.line=@line
    得到Dataset直接绑定就可以了
      

  6.   

    你是说 前一个条件的结果总被后一个条件的结果覆盖吧   就搞个视图把需要的存在视图  然后dataset 绑定