簡體   English   中英

如何在c#.net中集中數據庫連接?

[英]How to central the db connection in c# .net?

有誰知道如何在c#.net中集中數據庫連接(也許在mian.master中)?

我有以下數據用於數據庫連接,並用於調用差異存儲過程到檢索到的數據。

    string strConnString = ConfigurationManager.ConnectionStrings["testString"].ConnectionString;
    SqlConnection mySqlConnection = new SqlConnection(strConnString);
    SqlCommand mySqlCommand = mySqlConnection.CreateCommand();

    mySqlCommand.CommandText = "EXEC app_campaign_select @CampaignID=" + Request.QueryString["ixCampaign"].ToString();
    mySqlConnection.Open();
    SqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();

我可以在主頁中編寫以下連接代碼並且只連接到db一次,而不是在每個頁面中編碼並多次連接到db,然后每個頁面都可以在需要連接到db時調用它

    string strConnString = ConfigurationManager.ConnectionStrings["testString"].ConnectionString;
    SqlConnection mySqlConnection = new SqlConnection(strConnString);
    SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
    SqlDataReader mySqlDataReader;

將其添加到靜態DAL類並根據需要添加參數。

public static void YourFunction() {
    // your code
}

注意:

注意這一行: mySqlCommand.CommandText = "EXEC app_campaign_select @CampaignID=" + Request.QueryString["ixCampaign"].ToString();

如果QueryString來自某個用戶輸入的值,那么您可以對SQL注入開放。

當然。 只需為每種類型的返回類型創建一個輔助類,其中包含一些靜態方法。 傳遞一個字符串作為存儲過程名稱,並且有一個重載的字符串,它接受您傳入的sql語句的字符串。您也可以使用一個只返回標量值的字符串。 所以你可能有3個左右的靜態方法可以從任何頁面調用。

暫無
暫無

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

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