• 两种获取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;
  • 相关阅读:
    模块化 —— CommonJS、AMD、UMD、ESM(下)
    模块化 —— CommonJS、AMD、UMD、ESM(上)
    移动端事件(四)—— 函数防抖和函数节流
    移动端事件(三)—— 横竖屏与加速度、移动的方块
    一起来学JavaScript吧(JS兔子领进门)
    【资源】一些常用的前端资源网站(不定期更新)
    redis
    django-高并发解决方案--负载均衡
    输入某年某月某日,判断这一天是这一年的第几天
    一篇英文文档中找出频数最多的10个单词
  • 原文地址:https://www.cnblogs.com/wangfuyou/p/4878931.html
Copyright © 2020-2023  润新知