2011-03-03 19 views
1

如果我有多個頁面,創建連接字符串變量並在所有頁面之間共享的正確過程是什麼。我寧願不爲每個頁面輸入連接字符串100次,而只是打電話給它。我可以在我的名字空間中創建它,或者最好的方法是什麼?跨頁面的C#SQL連接字符串

回答

6

把連接字符串中的web.config文件。請參閱MSDN上的以下內容:How to: Read Connection Strings from the Web.config File

在配置連接字符串的例子:

<connectionStrings> 
    <add name="Movies2" 
     connectionString="Data Source=(local);Initial Catalog=Movies;User ID=wt3movies;Password=lalalalala;Integrated Security=SSPI" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

使用字符串:

string connStr = ConfigurationManager.ConnectionStrings["Movies2"].ConnectionString; 
1

這是典型的配置文件(Web.config)

0

那麼我會包括設置文件,並將其放在那裏。它可能不是最好的選擇,但對我有用。

0

有很多選擇。這取決於您使用的是什麼數據訪問方法。我建議創建一個類來處理從web.config文件加載連接字符串並將其公開爲公共屬性。

0

有許多方法可以深入到架構/ SOC/IoC/Repository/etc中,但從最簡單的意義上回答您的問題,您可以創建一個具有單一方法的數據庫類從配置中獲取連接字符串。

internal class DataAccess 
{ 
    static string GetDatabaseConnection() 
    { 
     return ConfigurationManager.ConnectionStrings["AppDb"].ConnectionString; 
     // where AppDb is defined in your web.config/app.config. 
    } 
} 

您的網頁可以只使用:

string connection = DataAccess.GetDatabaseConnection(); 
0

連接字符串通常存儲在配置文件,如web配置。下面是一個簡單的例子 添加像這樣的配置

<connectionStrings> 
    <add 
    name="NorthwindConnectionString" 
    connectionString="Data Source=serverName;Initial 
    Catalog=Northwind;Persist Security Info=True;User 
    ID=userName;Password=password" 
    providerName="System.Data.SqlClient" 
    /> 
</connectionStrings> 

,然後retrive它作爲

System.Configuration.Configuration rootWebConfig = 
      S 

ystem.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot"); 
      System.Configuration.ConnectionStringSettings connString; 
      if (rootWebConfig.ConnectionStrings.ConnectionStrings.Count > 0) 
      { 
       connString = 
        rootWebConfig.ConnectionStrings.ConnectionStrings["NorthwindConnectionString"]; 
       if (connString != null) 
        Console.WriteLine("Northwind connection string = \"{0}\"", 
         connString.ConnectionString); 
       else 
        Console.WriteLine("No Northwind connection string"); 
      } 

完整的文章是在這裏http://msdn.microsoft.com/en-us/library/ms178411.aspx

0

你應該保持它在你的配置文件。對於將是app.config的winforms,對於webforms,它是web.config。這裏是你需要的部分(用於winforms)。

<connectionStrings> <add name="MyNameSpace.Properties.Settings.ConnectionString1" connectionString="Data Source=MYSQLSERVER;Initial Catalog=DATABASENAME;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings>

然後你就可以(根據您的.NET版本 - 這是2.0)訪問的連接字符串這樣

string connectionString = ((string)(configurationAppSettings.GetValue(ConnectionString1"", typeof(string))));

0

有連接字符串(CS)在(App/Web).Config文件並使CS從靜態方法GetConncectionString()返回。這意味着,此特定的靜態方法將用於需要CS的所有頁面。

0

你也可以創建一個名爲connectionStrings.config文件,或您選擇的名稱,與此內容:

<connectionStrings> 
    <add name="MyConnection" connectionString="server=MyServer; database=MyDataBase; user id=myUser; pwd=MyPwd;"/> 
</connectionStrings> 

,然後在你的web.config 插入節點下的這個標籤

<connectionStrings configSource="connectionStrings.config"/>