내가 사용하고 있던 열려 있는지 닫혀 있는지 어떻게 확인합니까?
if (SQLOperator.SQLCONNECTION.State.Equals("Open"))
그러나 State가 ‘Open’인 경우에도이 검사에서 실패합니다.
답변
SqlConnection.State를 사용해야합니다.
예 :
using System.Data;
if (myConnection != null && myConnection.State == ConnectionState.Closed)
{
// do something
// ...
}
답변
내가 사용하는 것은 다음과 같습니다.
if (mySQLConnection.State != ConnectionState.Open)
{
mySQLConnection.Close();
mySQLConnection.Open();
}
내가 단순히 사용하지 않는 이유 :
if (mySQLConnection.State == ConnectionState.Closed)
{
mySQLConnection.Open();
}
ConnectionState도 다음과 같을 수 있기 때문입니다.
Broken, Connnecting, Executing, Fetching
이외에
Open, Closed
또한 Microsoft는 연결을 닫았다가 다시 열면 “상태 값이 새로 고쳐집니다”라고 말합니다. 여기를 참조하십시오 http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.state(v=vs.110).aspx
답변
.NET 문서에 따르면 상태 속성 : ConnectionState 값의 비트 조합
그래서 확인해야 할 것 같아요
!myConnection.State.HasFlag(ConnectionState.Open)
대신에
myConnection.State != ConnectionState.Open
State는 여러 플래그를 가질 수 있기 때문입니다.
답변
MySQL 연결이 열려 있는지 확인
ConnectionState state = connection.State;
if (state == ConnectionState.Open)
{
return true;
}
else
{
connection.Open();
return true;
}
답변
당신은 또한 이것을 사용할 수 있습니다
if (SQLCON.State == ConnectionState.Closed)
{
SQLCON.Open();
}
답변
이 코드는 좀 더 방어 적이며 연결을 열기 전에 상태를 확인합니다. 연결 상태가 끊어지면 닫아야합니다. 끊어짐은 연결이 이전에 열렸으며 올바르게 작동하지 않음을 의미합니다. 두 번째 조건은 코드를 반복적으로 호출 할 수 있도록 다시 열기 전에 연결 상태를 닫아야한다는 것을 결정합니다.
// Defensive database opening logic.
if (_databaseConnection.State == ConnectionState.Broken) {
_databaseConnection.Close();
}
if (_databaseConnection.State == ConnectionState.Closed) {
_databaseConnection.Open();
}
답변
데이터베이스 연결 상태를 확인하려면 다음을 수행하면됩니다.
if(con.State == ConnectionState.Open){}