2009-12-03 2 views

답변

6

을 당신이 using 문에 당신도록 SqlConnection 포장을하지 않는 한, 당신은 여전히 ​​폐쇄하고 (다른 모든 예외 등)의 연결을 폐기 할 책임이 있습니다.

try 
{ 
    // Create and execute your SqlCommand here 
} 
catch(SqlException ex) 
{ 
    // Catch the timeout 
} 
finally 
{ 
    // Close and Dispose the SqlConnection you're using 
} 

그러나 using 훨씬 깨끗 자동으로 처분 :

또한 try/catch/finally 블록을 사용할 수

이 모든 예외 후 finally 절 감싸해야
using(SqlConnection conn = new SqlConnection()) 
{ 
    // Do your work here. 
    // The SqlConnection will be closed and disposed at the end of the block. 
} 
5

아니요, 여전히 스스로 해결해야합니다. 사용하여 블록을 사용하여 그것이 비록 배치되는 원인이됩니다

using (SqlConnection connection = new SqlConnection(...)) 
{ 
    // ... 
} 
+0

그래서 폐쇄되지 않았습니까? –

+0

아니야. (왜 15자를 가질 필요가 있습니까?) – JonH

+0

100 % 확실하지는 않지만'SqlConnection.Dispose()'호출은'SqlConnection.Close()'를 호출합니다. 따라서 사용 블록은 100 % 효과적입니다. –

0

있도록 귀하의 연결을 닫고 SQL realized 개체 리소스를 정리하고 있습니다. try/catch/finally를보고 finally 문에 정리 코드를 입력하십시오.