Cuando utiliza SqlDataReader para operar la base de datos durante la codificación, ¿llama manualmente al método o escribe código para cerrar la conexión de la base de datos cada vez que llama al método de su base de datos? (Jaja, solía hacer esto por diversión)
El siguiente método puede resolver este problema. El parámetro CommandBehavior.CloseConnection de cmd.ExecuteReader le ayudará automáticamente a cerrar el SqlDataReader estático ExecuteReader de conexión público asociado
(cadena de conexión, CommandType cmdType, cadena cmdText, parámetros SqlParameter[] commandParameters).
{
cmd
= nuevo SqlCommand();
conexión SqlConnection = nueva SqlConnection(connectionString);
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
// Agregar el parámetro CommandBehavior.CloseConnection a cmd.ExecuteReader cerrará automáticamente la conexión asociada a él después de ejecutar cmd.ExecuteReader.
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
devolver rdr
}
captura
{
conexión.Cerrar();
tirar
}
}
http://www.cnblogs.com/abeen/archive/2006/12/19/597039.html