c#里面,使用SqlConnection连接到数据库,读取了一个SqlDataReader,然后循环读取这个SqlDataReader的时候,想在循环里面继续连接数据库,好像不得行啊,说要关闭了SqlDataReader才行。顺便请大侠指点一下SqlConnection的原理。

解决方案 »

  1.   

    要想在SqlDataReader后继续操作数据库,那必须得先把SqlDataReader打开的连接给关了,要不会报错的。
      

  2.   

    同一时间只能有一个连接啊
    所以说在循环读取DataReader的时候显然是不能再试图连接同一个数据库的。如果业务逻辑限制你必须你这样做的话,建议你尝试DataSet。
      

  3.   

    SqlDataReader dr = cmd.ExecuteReader();
    while(dr.Read())
    {
       //取数据操作
    }
    dr.Close();
      

  4.   

    DataRead在读出后一定要关闭,这个要注意,你可以看看petshop里有一段很精练的调用代码.在使用后会自动关闭连接源.