初学.net不知道当return以后,怎么关闭DataReader和SqlConnection的连接!
高手帮忙改一下。
public SqlDataReader GetReader(string aString)
{
//不知道如何释放实例
SqlConnection myconn=new SqlConnection(ConfigurationSettings.AppSettings ["ConnectionString"]);
SqlCommand mycmd=new SqlCommand ("QueryCompanyDeatil",myconn);
mycmd.CommandType=CommandType.StoredProcedure;
SqlParameter paCompanyGuid=new SqlParameter("@CompanyGuid",SqlDbType.Char,36) ;
mycmd.Parameters.Add (paCompanyGuid);
paCompanyGuid.Value =aString;
myconn.Open ();
SqlDataReader objReader=mycmd.ExecuteReader(CommandBehavior.CloseConnection );
objReader.Read ();
    return objReader;

}

解决方案 »

  1.   

    你Reader是要返回的,不能关闭。你需要在获得端去关闭。
      

  2.   

    SqlDataReader reader = GetReader(aString);
    reader.Close(); //因为 SqlDataReader objReader=mycmd.ExecuteReader(CommandBehavior.CloseConnection );
    //objReader在创建的时候指定了CommandBehavior为如果关闭该DataReader,则指定的连接也关闭
      

  3.   

    SqlDataReader reader = GetReader(aString);
    while(reader.Read())
    {
    .....
    }
    reader.Close();
      

  4.   

    ASP.NET(c#,Ajax)技术讨论群30417196(限已工作人士)
      

  5.   

    reader.close();后可以再
    reader.Dispose();
    一下