Comment vérifier s'il est ouvert ou fermé que j'utilisais
if (SQLOperator.SQLCONNECTION.State.Equals("Open"))
cependant, même l'état est «ouvert», il échoue à cette vérification.
c#
ado.net
sqlconnection
Pedro Franco
la source
la source
SqlConnectionState
énumération comme une énumération et ne la transformez pas en chaîne .....using System.Data;
dans la réponse, à mon humble avis. J'ai oublié cet espace de noms (hadusing System.Data.SqlClient
) et je ne pouvais pas comprendre comment obtenirConnectionState
un mot-clé jusqu'à ce que je l'ajoute. J'espère que cela aide quelqu'un.if (myConnection == null || myConnection.State == ConnectionState.Closed) { //Connection is closed } else { //Connection is open in some way }
? De cette façon, si la connexion est nulle, elle est également "fermée".Voici ce que j'utilise:
La raison pour laquelle je n'utilise pas simplement:
C'est parce que le ConnectionState peut également être:
En plus de
En outre, Microsoft déclare que la fermeture et la réouverture de la connexion «actualiseront la valeur de State». Voir ici http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.state(v=vs.110).aspx
la source
mySQLConnection.State != ConnectionState.Open && mySQLConnection.State != ConnectionState.Connecting
éviter les réinitialisations avec des connexions lentes, n'est-ce pas?La documentation .NET dit: State Property: Une combinaison au niveau du bit des valeurs ConnectionState
Alors je pense que tu devrais vérifier
au lieu de
car State peut avoir plusieurs indicateurs.
la source
Vérifiez si une connexion MySQL est ouverte
la source
return true;
? placez-le à la fin de la méthode, en dehors duif
/else
!vous pouvez également utiliser ceci
la source
using System.Data;
pour tous ceux qui ne savaient pas ou ne savaient pas pourquoi cela ne fonctionnait pasCe code est un peu plus défensif, avant d'ouvrir une connexion, vérifiez l'état. Si l'état de la connexion est Broken, nous devons essayer de le fermer. Rupture signifie que la connexion a été précédemment ouverte et ne fonctionne pas correctement. La deuxième condition détermine que l'état de connexion doit être fermé avant de tenter de l'ouvrir à nouveau afin que le code puisse être appelé à plusieurs reprises.
la source
Pour vérifier l'état de la connexion à la base de données, vous pouvez simplement faire ce qui suit
la source
Pour vérifier l'état OleDbConnection, utilisez ceci:
State
retourner leConnectionState
Voici les autres
ConnectionState
énumérationsla source
J'utilise la manière suivante
sqlconnection.state
la source
connectionState.open()
n'existe pas; voulez-vous direConnectionState.Open
?