¿Cómo se comprueba si está abierto o cerrado? Estaba usando
if (SQLOperator.SQLCONNECTION.State.Equals("Open"))
sin embargo, incluso si el Estado es "Abierto", falla en esta verificación.
c#
ado.net
sqlconnection
Pedro Franco
fuente
fuente
SqlConnectionState
enumeración como enumeración y no la convierta en una cadena .....using System.Data;
la respuesta, en mi humilde opinión. Olvidé este espacio de nombres (teníausing System.Data.SqlClient
) y no pude averiguar cómo obtenerloConnectionState
como palabra clave hasta que lo agregué. Espero que esto ayude a alguien.if (myConnection == null || myConnection.State == ConnectionState.Closed) { //Connection is closed } else { //Connection is open in some way }
? De esta forma, si la conexión es nula, también se "cierra".Esto es lo que estoy usando:
La razón por la que no estoy usando simplemente:
Es porque ConnectionState también puede ser:
Además de
Además, Microsoft afirma que Cerrar y luego volver a abrir la conexión "actualizará el valor de Estado". Vea aquí http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.state(v=vs.110).aspx
fuente
mySQLConnection.State != ConnectionState.Open && mySQLConnection.State != ConnectionState.Connecting
para evitar reinicios con conexiones lentas, ¿no es así?La documentación de .NET dice: Propiedad de estado: una combinación bit a bit de los valores de ConnectionState
Entonces creo que deberías comprobar
en vez de
porque el estado puede tener múltiples banderas.
fuente
Compruebe si una conexión MySQL está abierta
fuente
return true;
? ponerlo al final del método, fuera deif
/else
!también puedes usar esto
fuente
using System.Data;
para cualquiera que no lo supiera o no supiera por qué no estaba funcionandoEste código es un poco más defensivo, antes de abrir una conexión, verifique el estado. Si el estado de la conexión está roto, deberíamos intentar cerrarlo. Roto significa que la conexión se abrió anteriormente y no funciona correctamente. La segunda condición determina que el estado de conexión debe cerrarse antes de intentar abrirlo nuevamente para que el código se pueda llamar repetidamente.
fuente
Para verificar el estado de conexión de la base de datos, simplemente puede hacer lo siguiente
fuente
Para verificar el estado de OleDbConnection, use esto:
State
devuelve elConnectionState
Aquí están las otras
ConnectionState
enumeracionesfuente
Uso de la siguiente manera
sqlconnection.state
fuente
connectionState.open()
no existe; ¿te refieresConnectionState.Open
?