SergioTarrillo's RichWeblog

miércoles, octubre 12, 2005

Cerrando una conexión automaticamente, despues de usar el SqlDataReader!

¿de qué nos serviría cerrar la conexión?


En ejemplos pequeños, y en aplicaciones pequeñas derepente no afecto mucho el rendimiento de la aplicación pero en gradens aplicaciones y sobre todo aquellas que tienen muchas peticiones puede causar muy graves problemas, en el rendimiento y funcionamiento de la aplicación.


Cuando esamos accediento a datos con ADO.NET solemos olvidar de hacer myCn.Close.


Pues nosotros tenemos una carácteristica integrada en el método ExecuteReader, para cerrar la conexión del DataReader. Esto hace mas fácil el proceso de abrir y leer los datos, sin tener que preocuparnos por cerrar la conexión. Para hacer que el metodo ExecuteReader, ejecute esta tarea solo debemos pasarle como parametro: CommandBehavior.CloseConnection:



myCommand.ExecuteReader(CommandBehavior.CloseConnection);


Otras opciones que recibe como parametros las pueden encontrar en el siguiente sitio: Parametros


Saludos,

2 comentarios:

Enadan dijo...

Hola Sergio, soy Dani (curso DCE 3, de Madrid...)

Esta bien lo que comentas, pero que te pareceria hacer

using (IDbConnection conn = new IDbConnection())
{
codigo
}

Logicamente no funcionaria, pero pongo la interfaz para hacerlo generico, es solo una idea. Asi nos olvidamos de liberar recursos...

Sergio Tarrillo dijo...

Hola Dani!

Si efectivamente es otra opción, habría que analizarlo tecnicamente cual es el mejor... auque me imagino que cada uno tendrá sus escenario donde tenga mas ventajas...

P.D.: Empieza de una vez con DCE 2005 :P

Saludos..