1.
public static string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=localhost;Persist Security Info=True;User ID=***;Password=***;Unicode=True"
providerName="System.Data.OracleClient" />
</connectionStrings>
2.
public static string connectionString = ConfigurationSettings.AppSettings["ConnectionString"];
<add key="ConnectionString" value="server=localhost;database=***;uid=sa;pwd=***"></add>
添加位置見下
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings><!--2.--><add key="ConnectionString" value="***"></add></appSettings>
<connectionStrings/><!--1.-->
<system.web>
<!--
設置 compilation debug="true" 可將調試符號插入
已編譯的頁面中。但由於這會
影響性能,因此只在開發過程中將此值
設置為 true。
-->
<compilation debug="false"></compilation>
<!--
通過 <authentication> 節可以配置 ASP.NET 用來
識別進入用戶的
安全身份驗證模式。
-->
<authentication mode="Windows" />
<!--
如果在執行請求的過程中出現未處理的錯誤,
則通過 <customErrors> 節可以配置相應的處理步驟。具體說來,
開發人員通過該節可以配置
要顯示的 html 錯誤頁
以代替錯誤堆棧跟蹤。
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
</system.web>
</configuration>
數據庫連接是否成功
using System.Data;
using Oracle.DataAccess.Client; //注意添加Oracle的引用 ;SqlServer自帶
DataSet dataSet = new DataSet();
List<ZHInfo> listzh = new List<ZHInfo>();
string sql = "SELECT CODE,NAME,PHONE_NUMBER FROM ZHXX WHERE 1=1 AND ROWNUM<10 "; using (OracleConnection oracleConnection = new OracleConnection(connectionString)) { oracleConnection.Open(); OracleCommand selectCommand = new OracleCommand(sql, oracleConnection); OracleDataAdapter oracleDataAdapter = new OracleDataAdapter(selectCommand); oracleDataAdapter.Fill(dataSet); } if (dataSet.Tables.Count > 0 && dataSet.Tables[0] != null && dataSet.Tables[0].Rows.Count > 0) {
//連接成功且返回數據 foreach (DataRow dr in dataSet.Tables[0].Rows) { listzh.Add(new ZHInfo { Code = dr["Code"].ToString(), Name = dr["Name"].ToString(), PublicNumber = dr["Phone_Number"].ToString() }); } }
public class ZHInfo { public string Code { get; set; } public string Name { get; set; } public string PublicNumber { get; set; } }
參考:grpideas的專欄 兩種獲取connectionString的方式
AppSettings和ConnectionStrings的使用。
AppSettings是ASP.NET1.1時期用的,在.NET Framework 2.0中,新增了ConnectionStrings.
1.ConnectionStrings的使用
<connectionStrings> <add name="ConnectionStringName" connectionString="Data Source=服務器名;Initial Catalog=數據庫名;User ID=用戶;Password=密碼" providerName="System.Data.SqlClient" /> </connectionStrings>
或者:
<connectionStrings> <add name="ConnectionStringName" connectionString="sever=服務器名;database=數據庫名;User ID=用戶;Password=密碼" providerName="System.Data.SqlClient" /> </connectionStrings>
在頁面還可以這樣引用<%$ ConnectionString:Name%>.
2.<appSettings>的使用
<add key="connectionstringName" value="data source=服務器名或IP;initial catalog=數據庫名;persist security info=False;user id=用戶;password=密碼;packet size=4096"> </add>
3.區別
1)AppSettings 是在2003中常用的,ConnectionStrins是2005中常用的.
2)使用ConnectionString的好處:
第一:可將連接字符串加密,使用MS的一個加密工具即可。
第二:可直接邦定的數據源控件,而不必寫代碼讀出來再賦值給控件。
第三:可方便的更換數據庫平台,如換為Oracle數據庫,只需修改providerName。
3)寫在 <appSettings >中用System.Configuration.ConfigurationManager.AppSettings["name"]檢索值。
寫在 <ConnectionStrings>中用System.Configuration.ConfigurationManager.ConnectionStrings["name"]檢索值。
4.測試
在VS2005中新建一個網站,然后再defaul頁面中加入如下代碼
using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { labConn.Text = ConfigurationManager.ConnectionStrings["SiteSqlServer"].ToString(); labApp.Text = ConfigurationManager.AppSettings["SiteSqlServer"].ToString(); } }
而web.config的代碼如下:
<?xml version="1.0"?> <!-- 注意: 除了手動編輯此文件以外,您還可以使用 Web 管理工具來配置應用程序的設置。可以使用 Visual Studio 中的 “網站”->“Asp<a href="http://lib.csdn.net/base/dotnet" class='replace_word' title=".NET知識庫" target='_blank' style='color:#df3434; font-weight:bold;'>.NET</a> 配置”選項。 設置和注釋的完整列表在 machine.config.comments 中,該文件通常位於 /Windows/Microsoft.Net/Framework/v2.x/Config 中 --> <configuration> <connectionStrings> <add name="SiteSqlServer" connectionString="Data Source=XUWEI/SQLEXPRESS;Initial Catalog=store;User ID=dnndemo;Password=dnndemo" providerName="System.Data.SqlClient" /> </connectionStrings> <appSettings> <add key="SiteSqlServer" value="Data Source=XUWEI/SQLEXPRESS;Initial Catalog=store;User ID=dnndemo;Password=dnndemo" /> </appSettings> <system.web> <!-- 設置 compilation debug="true" 將調試符號插入 已編譯的頁面中。但由於這會 影響性能,因此只在開發過程中將此值 設置為 true。 --> <compilation debug="true"/> <!-- 通過 <authentication> 節可以配置 ASP.NET 使用的 安全身份驗證模式, 以標識傳入的用戶。 --> <authentication mode="Windows"/> <!-- 如果在執行請求的過程中出現未處理的錯誤, 則通過 <customErrors> 節可以配置相應的處理步驟。具體說來, 開發人員通過該節可以配置 要顯示的 html 錯誤頁 以代替錯誤堆棧跟蹤。 <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> <error statusCode="403" redirect="NoAccess.htm" /> <error statusCode="404" redirect="FileNotFound.htm" /> </customErrors> --> </system.web> </configuration>
當然前提是在編輯頁面中添加了兩個lable,分別為labConn和labApp。
string conString = ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString;