dr.Close();一定要执行的,不然它仍然独占sqlCommand,再次使用时会报错的

解决方案 »

  1.   

    suosuoyyy(羊羊)说的很对
    我在没有执行dr.Close()的情况下又做如下定义:string sqlstr = "select * from table1";
    SqlCommand sqlcmd1 = new SqlCommand(sqlstr,conn);//前面为sqlcmd
    SqlDataReader dr1= sqlcmd1.ExecuteReader();//前面为dr虽然一个是sqlcmd和sqlcmd1、一个是dr和dr1,但同样抱错:
    异常详细信息: System.InvalidOperationException: 已有打开的与此连接相关联的 DataReader,必须首先将它关闭。我加上:dr.Close()就解决了问题
    谢谢大家
      

  2.   

    sqlcmd.Dispose();
    要不要执行呢?
      

  3.   

    也可以不执行,你多加条内存和cpu就可以啦哈哈