¿Por qué siempre cerrar la conexión de la base de datos?
Si conectarse a una base de datos consume muchos recursos, ¿por qué una conexión de base de datos siempre debe cerrarse en su aplicación si tiene que volver a abrirla? ¿Puedo hacer que esta conexión esté disponible globalmente en toda mi aplicación para que otras clases y métodos puedan reutilizarla?
Por ejemplo (en pseudocódigo):
public class PopulateGridViews()
{
public SqlConnection conn = new SqlConnection(@"Database:DATABASE");
conn.Open();
void PopulateGrid1()
{
SqlCommand cmd = new SqlCommand("SELECT * FROM TABLE1");
cmd.Connection = conn;
cmd.ExecuteNonQuery();
cmd.Dispose();
// Populate Grid1
}
void PopulateGrid2()
{
SqlCommand cmd = new SqlCommand("SELECT * FROM TABLE2");
cmd.Connection = conn;
cmd.ExecuteNonQuery();
cmd.Dispose();
// Populate Grid2
}
}