2013-02-06 1 views
0

SqlConnection을 제공 할 메서드를 구현하려고하는데 어떻게해야합니까?메서드로 SqlConnection

public class DAL 
{ 
    public bool dbCon() 
    { 
     string comboValue; 

     try 
     { 
      using (SqlConnection sqlConn = 
       new SqlConnection(@"Data Source =VirtualXP-64805;Initial Catalog=CTS_Demo;Integrated Security=SSPI")) 
      { 
       sqlConn.Open(); 
      } 
     } 
     catch (SqlException Ex) 
     { 
      MessageBox.Show(Ex.ToString()); 
     } 
    } 
} 
+0

연결을 열고 해당 연결의 인스턴스를 반환하는 메서드를 만들겠습니까? –

+1

직접 내장 된 연결을 사용하지 않는 이유는 무엇입니까? –

답변

3

메서드는 bool 값이 아닌 연결 개체를 반환해야하며 그렇지 않으면 클래스 수준의 연결 변수를 정의하고이를 사용할 수 있습니다. 이 데이터베이스 연결에 관해서

그러나 가능한 늦게을 열고 단순히 연결 개체를 반환 할 수 있습니다 방법에서 연결을 여는 대신 가능한 한 빨리

등을 닫고 어디를 엽니 다 너는 그것을 필요로한다. 당신이 그것을 사용하는

public SqlConnection dbCon() 
{ 
return new SqlConnection(@"Data Source =VirtualXP-64805;Initial Catalog=CTS_Demo;Integrated Security=SSPI"); 
} 

다음 : 같은 뭔가

using(SqlConnection conn = dbCon()) 
{ 
    conn.Open(); 
    .... your code 
} 

아니면 방법 제거하고 간단하게 구성에서 연결 문자열로 new SqlConnection 전화를받을 수 있습니다.

편집 : 당신은 당신의 방법에서 열린 연결을 반환하려면 때문에, 당신은 IMO의하지 권장되는 방법을 다음을 수행 할 수 있지만,

, 당신이 있기 때문에, 각 연결 개체에 대해 수동으로 Dispose를 호출해야 당신은 진술을 사용하는 동안 그것을 사용하지 않을 것입니다.

public SqlConnection dbCon() 
{ 
SqlConnection sqlConn; 

try 
{ 
    sqlConn = new SqlConnection(@"Data Source =VirtualXP-64805;Initial Catalog=CTS_Demo;Integrated Security=SSPI") 

} 
catch(SqlException) 
{ 
    //your exception handling details 
    sqlConn = null; 
} 
return sqlConn; 

} 
+0

안녕하세요 Gian, 네 질문에 대한 제 대답입니다. 너는 그 생각을 가지고 있니? – donubas

+0

@ doodsjr, 편집 확인 – Habib

+0

안녕하십니까. – Habib