ASP.NET遍歷配置文件的連接字符串

2010-08-28 10:51:35來源:西部e網(wǎng)作者:

  在ASP.NET 2.0中,提供了更方便的配置文件訪問的類,具體可以到 System.Configuration 名稱空間下進(jìn)行查看。本文提供一種在開發(fā)過程中常用的得到數(shù)據(jù)庫字符串的方法,為方便使用,寫成一個方法進(jìn)行調(diào)用:

  public string GetConnectionString( string _connectionStringsName )
  {
  System.Configuration.ConnectionStringSettingsCollection config = System.Configuration.ConfigurationManager.ConnectionStrings;
  for (int i = 0 ; i < config.Count ; i++)
  {
  if (config[i].Name.Equals(_connectionStringsName, StringComparison.OrdinalIgnoreCase))
  return config[i].ToString();
  }
  return String.Empty;
  }


  如果web.config配置如下:

<connectionStrings> 
<add name="ConnectionString1" connectionString="Persist Security Info=False;User ID=sa;Password=;Initial Catalog=DataBase1;Server=(local);" providerName="System.Data.SqlClient"/> 
<add name="ConnectionString2" connectionString="Persist Security Info=False;User ID=sa;Password=;Initial Catalog=DataBase2;Server=(local);" providerName="System.Data.SqlClient"/> 
</connectionStrings>


  如果寫成靜態(tài)類方法,則可以使用下面的方法進(jìn)行調(diào)用:

string ConnectString = XianhuiMengUtil.GetConnectionString("ConnectionString1");


  另外,如果在遍歷時進(jìn)行輸出,則可以看到多出來一個配置項,那是因為machine.config里已經(jīng)默認(rèn)定義理一個數(shù)據(jù)庫連接,內(nèi)容如下:

<connectionStrings> 
<add name="LocalSqlServer" connectionString="data source=.SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename= DataDirectory aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" /> 
</connectionStrings> 


  這就是許多網(wǎng)友在論壇上經(jīng)常會問:為什么我的程序會調(diào)用 SQLEXPRESS 數(shù)據(jù)庫的原因,如果你的數(shù)據(jù)庫配置不正確,或者無法打開時,就會使用 SQLEXPRESS 數(shù)據(jù)庫。

關(guān)鍵詞:ASP.NET

贊助商鏈接: