在一个公共代码类有如下方法
public SqlDataReader selectUserInfo()
{
string strConn="Data Source=......";
SqlConnection usConn = new SqlConntion(strConn);
SqlCommand usCom = new SqlCommand("select * from usInfo",usConn);
usCom.Connection.Open();
return usCom.ExecuteReader();
}我想知道,调用这个方法后,这个当前数据库的连接状态是怎么样的。是处于连接状态还是自动断开啊。如果有几百用户同时调用这个方法会不会出现问题。
如果我想实现方法返回一个结果集,还想性能上尽量快,有什么好办法?

解决方案 »

  1.   

    假设LZ在A方法里调用了上面的方法,那么记得在A方法中获取完数据后,要用上面方法返回的SqlDataReader 对象调用关闭连接的方法。
      

  2.   

    关闭连接的时候自动关闭DataReader对象
    using(SqlConnection conn = new SqlConnection(""))
    {
    ...
    SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
    if(reader.Read())
    {}
    reader.Dispose();
    }
      

  3.   

    打开的,你可以看一下连接的状态
    usConn .State