簡體   English   中英

連接字符串對象的最佳實踐

[英]Best practice for Connection String Object

我的應用程序中有兩種methods可以調用兩個不同的SPs

public List<Products> GetProducts(string productName, string productCode)
{
   SqlConnection sqlconn = new SqlConnection(ConfigurationManager.ConnectionStrings["CatalogueConnectionString"].ConnectionString);
   SqlCommand cmd = new SqlCommand("usp_Get_Products", sqlconn);
   .....
}

我在同一個類中也有另一個方法,該方法再次創建了SqlConnection對象。 所以我的問題是創建connection對象的最佳實踐應該是什么,這樣我就不必在每種方法中都一次又一次地Create它。 為每種方法創建連接對象是一種好習慣嗎?

我通常只有一個類似於以下內容的全局靜態變量:

public static class MyCachedSettings
{
     public static string ConnectionString = 
     ConfigurationManager.ConnectionStrings["CatalogueConnectionString" ].ConnectionString;

     public static SqlConnection Connection = new SqlConnection(ConnectionString);
}

然后使用它:

public List<Products> GetProducts(string productName, string productCode)
{
   SqlConnection sqlconn = new SqlConnection(MyCachedSettings.ConnectionString);
   SqlCommand cmd = new SqlCommand("usp_Get_Products", sqlconn);
   .....
}

您應該創建一些類或方法來處理如何執行對數據庫的命令。 在這種情況下,我使用static允許所有人使用它而無需重新創建新實例。 ParamsInfo是DTO類,用於存儲名稱和param對象的值。

防爆。

public static DataSet ExecuteDataSet(string connectionString, string storedProcedure, params ParamsInfo[] params)
{ ... }

並讓它為您處理一切。

請參閱如何使用數據集

public List<Products> GetProducts(SqlConnection sqlconn, string productName, string productCode)
{

SqlCommand cmd = new SqlCommand("usp_Get_Products", sqlconn);

}
SqlConnection sqlconn = new SqlConnection("");
sqlconn.Open();
GetProducts(sqlconn, "productName", "code");
GetProducts1(sqlconn, "productName", "code");
sqlconn.Close();

暫無
暫無

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

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