两种获取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 > && dataSet.Tables[] != null && dataSet.Tables[].Rows.Count > )
{
//连接成功且返回数据
  foreach (DataRow dr in dataSet.Tables[].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;

两种获取connectionString的方式的更多相关文章

  1. Hibernate中两种获取Session的方式

    转自:https://www.jb51.net/article/130309.htm Session:是应用程序与数据库之间的一个会话,是hibernate运作的中心,持久层操作的基础.对象的生命周期 ...

  2. spring&pom两种获取profile的方式

    一.原理: 1.实现ApplicationContextAware(当一个类实现了ApplicationContextAware这个接口之后,这个类就可以通过setApplicationContext ...

  3. 流式思想概述和两种获取Stream流的方式

    流式思想概述 整体来看,流式思想类似于工厂车间的生产流水线 当需要对多个元素进行操作(特别是多步操作)的时候,考虑到性能及便利性,我们应该首先拼好一个模型步骤方案,然后再按照方法去执行他 这张图中展示 ...

  4. Request三种获取数据的方式

    今天在做ajax请求后台代码时,发现ajax的方法都对,但就是请求不了后台代码,后来在同事帮助下才发现前台定义了两个相同参数导致请求出错. 下面记录一下request三种获取数据的方式: 1. Req ...

  5. flask框架--设置配置文件的几种方式 与Flask两种配置路由的方式

    设置配置文件的几种方式 ==========方式一:============ app.config['SESSION_COOKIE_NAME'] = 'session_lvning' #这种方式要把所 ...

  6. Spring两种实现AOP的方式

    有两种实现AOP的方式:xml配置文件的方式和注解的形式 我们知道通知Advice是指对拦截到的方法做什么事,可以细分为 前置通知:方法执行之前执行的行为. 后置通知:方法执行之后执行的行为. 异常通 ...

  7. OC中两种单例实现方式

    OC中两种单例实现方式 写在前面 前两天探索了一下C++ 的单例,领悟深刻了许多.今天来看看OC中的单例又是怎么回事.查看相关资料,发现在OC中一般有两种实现单例的方式,一种方式是跟C++ 中类似的常 ...

  8. javascript两种声明函数的方式的一次深入解析

    声明函数的方式 javascript有两种声明函数的方式,一个是函数表达式定义函数,也就是我们说的匿名函数方式,一个是函数语句定义函数,下面看代码: /*方式一*/ var FUNCTION_NAME ...

  9. JIT(Just in time,即时编译,边运行边编译)、AOT(Ahead Of Time,运行前编译),是两种程序的编译方式

    JIT(Just in time,即时编译,边运行边编译).AOT(Ahead Of Time,运行前编译),是两种程序的编译方式

随机推荐

  1. hdu 4739 Zhuge Liang's Mines 随机化

    Zhuge Liang's Mines Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.p ...

  2. AES加密算法

    代码是抄的,版权信息有 代码压缩包下载地址:http://pan.baidu.com/s/1jGEKH1c AES.h /////////////////////////////// // http: ...

  3. linux C错误汇集

    问题一: 22.c: In function ‘main’:22.c:8:9: error: empty character constant 解决方法:少了空格

  4. change netbeans look and feel

    change netbeans look and feel: 方法一: 下载地址:https://kenai.com/projects/nbsubstance/downloads/directory/ ...

  5. Swift中的问号?和感叹号!

    Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化.如果在使用变量之前不进行初始化就会报错: var ...

  6. IPC——数据报套接字通信

    Linux进程间通信——使用数据报套接字 前一篇文章,Linux进程间通信——使用流套接字介绍了一些有关socket(套接字)的一些基本内容,并讲解了流套接字的使用,这篇文章将会给大家讲讲,数据报套接 ...

  7. 约瑟夫环问题及python与c++实现效率对比

    约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重 ...

  8. Javascript Date原型方法

    // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占 ...

  9. 网络流最经典的入门题 各种网络流算法都能AC。 poj 1273 Drainage Ditches

    Drainage Ditches 题目抽象:给你m条边u,v,c.   n个定点,源点1,汇点n.求最大流.  最好的入门题,各种算法都可以拿来练习 (1):  一般增广路算法  ford() #in ...

  10. Nodejs新建博客练习(二)添加flash支持

    安装必须模块 npm install connect-flash npm install express-session 然后在app.js里面添加一些代码 var flash = require(' ...