c# - esta - evitar que se cierre la consola c++
¿La conexión se cierra cuando se elimina el comando y la conexión se define directamente en el comando? (4)
@milot
Pero mi recomendación es usar bloques siempre que puedas.
Usar Using Blocks es bueno pero inútil cuando se trabaja con Objetos no IDisposables, por lo que puede ser confuso si usa Using Blocks en cualquier lugar.
Tenga cuidado ya que sus objetos pueden no estar Dispuestos si no implementan IDisposable.
Espero que esto ayude.
Sé que existen muchos ejemplos donde se define una SqlConnection y luego se define un SqlCommand, ambos en Uso de bloques:
using (var conn = new SqlConnection(connString)) {
using (var cmd = new SqlCommand()) {
cmd.Connection = conn;
//open the connection
}
}
Mi pregunta: si defino la conexión directamente en el SqlCommand, ¿la conexión se cierra cuando el comando está dispuesto?
using (var cmd = new SqlCommand()) {
cmd.Connection = new SqlConnection(connString);
//open the connection
}
No cierra la conexión, necesita cerrarla usted mismo o ponerla en su lugar usando la declaración.
También aquí hay un consejo para hacer que sus bloques de using
un poco más legibles:
using (var conn = new SqlConnection(connString))
using (var cmd = new SqlCommand())
{
cmd.Connection = conn;
}
No, SqlCommand nunca intenta cerrar / eliminar la conexión.
No, el objeto de conexión no se eliminará hasta que lo elimine explícitamente. Pero mi recomendación es usar bloques siempre que puedas.