conn.Open(); 
你已经用USING了。就不要再conn.Open(); 。

解决方案 »

  1.   

    http://topic.csdn.net/u/20090807/14/7b2ee05d-1610-4e7e-b2e4-473000543d07.html?52506
    已经回答了
      

  2.   

    退出来了,就是发生了异常了。肯定是数据库操作语句的问题:               SqlCommand command = new SqlCommand("select roomid from room where @number='307'", conn看你后面的参数,这个应该是参数而不是列名吧?
      

  3.   

    谢谢!换成while的确是可以解决问题,我想问的问题是我在单步调试的时候,明明
    if(datareader.Read())    //这句话显示true 的时候就直接跳到if外边去了,为什么??????????{
        num = Convert.ToInt32(datareader["roomid"]);
    }