簡體   English   中英

SqlConnection方法

[英]SqlConnection by Method

我正在嘗試實現將提供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());
        }
    }
}

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

但是當涉及到數據庫連接時,請盡可能晚地打開它,並盡早關閉它

不用從方法中打開連接,您可以簡單地返回連接對象並在需要的地方打開它。 就像是:

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 ,因為您將不會在using語句中使用它。

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;

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM