2013-02-06 80 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

你的方法應該返回連接對象不是一個布爾值,或者你可以定義一個類級連接變量並使用它。

但是,當涉及到數據庫連接,然後儘可能晚地打開它,並儘可能早地

關閉它,而不是打開從方法,你可以簡單地返回連接對象的連接,並打開它在那裏你需要它。喜歡的東西:

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從配置連接字符串。

編輯:

既然你想返回從你的方法打開的連接,你可以做到以下幾點,但國際海事組織它不是推薦的方法,你必須手動調用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

嗨吉安,是的,我的回答你的問題。你有這個想法嗎? – donubas

+0

@doodsjr,檢查編輯 – Habib

+0

不客氣 – Habib