两种获取connectionString的方式

两种获取connectionString的方式

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。

读取Web.Config文件连接字符串
string conString = ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString;

 

posted @ 2015-10-14 21:26  Twang  阅读(6484)  评论(0编辑  收藏  举报