如果while循环次数大于一,这样写一定会出错的,因为第二次进入while循环的时候,dr所用的coon已经被关闭了如果while循环次数等于一,只要在myConnection.Close(); 的前面加上dr.close;就可以了

解决方案 »

  1.   

    我要在dr的循环里输出dr1的一个字段
    难道要有两个myConnection吗?
      

  2.   

    如果你实在只想用一个SqlConnection,那么可以采用DataSet来取代第一个SqlDataReader,因为DataSet是脱机的。
      

  3.   

    如果这样,那为什么不在两个dr都用完后再close呢?如果是一个数据库就没必要用两个connection
      

  4.   

    把colse放在循环外  dr.Close()之后
      

  5.   

    我要在dr的循环里输出dr1的一个字段
    难道要有两个myConnection吗?你的dr和dr1应该是从同一个表里读出来的吧,那就没有必要用两个dr了,用一个,读取两列,然后用dr.getvalue(0),dr.getvalue(1)来分别取值。