2010-11-29 1 views
1

기본적으로, 나는 다음과 같은 일을 해요 경우 :C#/Informix : using 문에있는 경우 내 DB 연결에서 Close를 명시 적으로 호출해야합니까?

using (IfxConnection connection = ConnectionManager.GetConnection()) 
{ 
    connection.Open(); 
    ... 
    if (connection != null) connection.Close(); //Is this necessary? 
} 

참고 : IfxConnection이 DbConnection에서 상속하는 IBM 클래스입니다.

나는 그 코드를 거기에 남겨 두지 않을 것이라고 알고 있지만 가능한 한 효율적으로 코드를 정리하고 "여분"인 코드를 제거하는 것이 좋을 것입니다. :)

답변

3

IfxConnection 클래스의 Close() 클래스를 정리하고 Dispose()에 호출하면 마지막 행을 제거하는 것이 안전합니다.

docs에 따르면 그렇습니다.

  • using() 또는
  • 로 이동

  • using()을 상실하고 모두 불필요 사용하여 try{ ... } finally { if (connectionIsOpen) connection.Close()}

갈 :

기본적으로, 당신은 두 가지 선택이있을 것이다.

나는 using()을 사용하여 투표 할 것입니다. (의도 된 말장난) ;-)

- 다시 말해, - ;-) - 이미 처리 된 연결 -하지만 어쨌든 그렇게하지 않습니까? :-)

1

Dispose으로 전화하면 연결이 끊어집니다. 연결 문자열도 지워지므로주의하십시오.

이 팁에 대한 IfxConnection를 참조하십시오하십시오 IfxConnection 오브젝트에 폐기를 호출

  • 닫기 호출 다르다. 예를 들어, 닫기는 연결 문자열을 지우지 않습니다.

  • [Close 메서드 참조] 데이터베이스에 대한 연결을 닫습니다. 이는 열려있는 연결을 닫는 기본 방법입니다.

관련 문제