今天用之前的类库调试程序出现了以下问题

System.InvalidOperationException: ConnectionString 属性尚未初始化。在 System.Data.OracleClient.OracleConnection.PermissionDemand()在 System.Data.OracleClient.OracleConnectionFactory.PermissionDemand(DbConnection outerConnection)在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)在 System.Data.OracleClient.OracleConnection.Open()在 DBUtility.DbHelperOra.PrepareCommand(OracleCommand cmd, OracleConnection conn, OracleTransaction trans, String cmdText, OracleParameter[] cmdParms) 位置 C:\Documents and Settings\zzw\My Documents\Visual Studio 2005\Projects\webservicetest\DBUtility\DbHelperOra.cs:行号 541在 DBUtility.DbHelperOra.Query(String SQLString, OracleParameter[] cmdParms) 位置 C:\Documents and Settings\zzw\My Documents\Visual Studio 2005\Projects\webservicetest\DBUtility\DbHelperOra.cs:行号 491在 Dal.StudentDal.GetModel(String SNO) 位置 C:\Documents and Settings\zzw\My Documents\Visual Studio 2005\Projects\webservicetest\DAL\StudentDal.cs:行号 56在 Service.CheckSno(String sno) 位置 f:\zzw\Project\WebSite3\App_Code\Service.cs:行号 50在 Service.SearchCardID(String sno) 位置 f:\zzw\Project\WebSite3\App_Code\Service.cs:行号 32

问题是说我的connectstring属性尚未初始化,一看就知道是数据库的连接上出了问题。找了好久,问题的原因也很简单,
就是把ConnectionStrings和AppSettings混合用了,因为之前的类库中用的是AppSettings来调用的。所以出现这样的问题
也在情理之中。趁机我也正好去了解ConnectionStrings和AppSettings到底有什么区别。

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>

1)AppSettings 是在2003中常用的,ConnectionStrins是2005中常用的.
2)使用ConnectionString的好处:
第一:可将连接字符串加密,使用MS的一个加密工具即可。
第二:可直接邦定的数据源控件,而不必写代码读出来再赋值给控件。
第三:可方便的更换数据库平台,如换为Oracle数据库,只需修改providerName。
第四: ConnectionStrings最主要用于数据库连接,而AppSettings主要用于Asp.net应用程中的一些配置信息。比如上传文件的路径等。
3)写在 中用System.Configuration.ConfigurationManager.AppSettings[“name”]检索值。
写在 中用System.Configuration.ConfigurationManager.ConnectionStrings[“name”]检索值。

.
.
在 .NET Framework 2.0中,ConfigurationManager类新增了两个属性AppSettings和ConnectionStrings专门用来获取配置文件AppSettings和ConnectionStrings节的数据,使用方法如下:

using System.Configuration;
public partial class _Default : System.Web.UI.Page
{protected void Page_Load(object sender, EventArgs e){Label1.Text = ConfigurationManager.ConnectionStrings["connectionStringsName"].ToString();Label2.Text = ConfigurationManager.AppSettings["appSettingsName"].ToString();}
}

和这个的区别
1.<connectionStrings>

<connectionStrings>
<add name="SYXTConnectionString" connectionString="Data Source=LEIKE;Initial Catalog=SYXT;User ID=sa;Password=sa"
providerName="System.Data.SqlClient" />
</connectionStrings>

2.<appSettings>

<add key="connectionstring1" value="data source=192.168.123.201;initial catalog=webmedlink;persist security info=False;user id=sa;password=KSDChagd2004;packet size=4096">
</add>

两者的区别:
1、 AppSettings连接字符串的属性名为“key”,在ConnectionStrings中连接字符串的属性名为“name”。
2、 检索值不同
ConnectionStrings所使用如下代码来检索值
System.Configuration.ConfigurationManager.ConnectionString[“ConnectionString”].ConnectionString;
而AppSettings通过如下代码来检索值
System.Configuration.ConfigurationManager.AppSettings[“ConnectionString”]

原文链接:
介绍的很详细 : https://blog.51cto.com/zhoufoxcn/166441
https://blog.csdn.net/mascf/article/details/43669257
https://www.cnblogs.com/bindot/archive/2013/03/07/def.html
https://www.cnblogs.com/mikemao/archive/2009/02/02/1382694.html

C#--配置文件Web.config,数据库连接串 ConnectionStrings和AppSettings的区别相关推荐

  1. 认识ASP.NET配置文件Web.config

      认识ASP.NET配置文件Web.config Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序 ...

  2. ASP.NET配置文件Web.config

    [摘 要]Web.config文件是一个XML文本文件,它用来储存 ASP.net Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每 ...

  3. ASP.NET 多环境下配置文件web.config的灵活配置---转

    注意:本功能在.Net Core中已经不可用,暂时需手动修改web.config中的信息,或者将其设置在appsettings.XXX.json中,然后再使用web.config中的环境变量来制定使用 ...

  4. 配置文件 web.config 的讨论

    可以直接修改,修改后立即生效,无需重新编译,可以把数据连接对象直接加到web.config 中,从而方便修改,如果写在类中的话, 修改后需要重新编译 1.所有的配置都必须放在<configura ...

  5. 动易sitefactory 数据库 mysql msssql_动易SiteFactory配置文件(web.config)常用配置节解读...

    配置声明节 复制代码代码如下: 这个节定义了,web.config文件中将要用到具体配置节点的名称,处理程序等. 从这里可以看出,siteFactory里采用.net 企业应用程序块(enterpri ...

  6. DotText源码学习——从配置文件Web.config入手(一)

    2010-03-19 17:18 by 吴秦, 2409 阅读, 12 评论, 收藏, 编辑 概述 ASP.NET配置数据存储在名为Machine.config/Web.config的XML文本文件中 ...

  7. ASP.NET配置文件Web.config 详细解释

    一.认识Web.config文件 Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式), ...

  8. 配置文件中的数据库连接串加密了,你以为我就挖不出来吗?

    一:背景 1. 讲故事 前几天在调试物联柜终端上的一个bug时发现 app.config 中的数据库连接串是加密的,因为调试中要切换数据库,我需要将密文放到专门的小工具上解密,改完连接串上的数据库名, ...

  9. C#中ConnectionStrings和AppSettings的区别及取值

    connectionStrings主要设置连接字符串 <connectionStrings> <add name="ConnectionName" connect ...

最新文章

  1. Maven 使用代理下载依赖
  2. jsoncpp的输出顺序
  3. UVA10881蚂蚁
  4. 安卓mysql导出excel_Android开发实现的导出数据库到Excel表格功能【附源码下载】...
  5. 1.21 方法的可变参数(String...names)
  6. PMCAFF微分享 | 供应链金融套利套汇介绍
  7. php关联二维数组,php-检查关联二维数组
  8. linux安装xgboost快速高效方法
  9. Andriod开发 --插件安装、环境配置、问题集锦
  10. jdk8运行jdk7的代码_即使在jdk中也有错误的代码
  11. LNMP里常见的502问题
  12. 深入理解Redis分布式锁
  13. 程序员版的「倚天屠龙」,看完泪奔!
  14. java中结构体入参_JNA中自定义结构体如何传参?
  15. Spark调优 数据倾斜
  16. asp.net onclick与onclientclick的区别
  17. canvas设置渐变
  18. 【canvas】linejoin——miterLimit
  19. 苹果Mac3D建模软件SketchUp Pro很专业
  20. python word2vec使用_使用Python可视化Word2vec的结果

热门文章

  1. springboot 纯洁的微笑
  2. Webpack:打包分析,Preloading, Prefetching
  3. 蛋糕店小程序怎么做,需要哪些功能
  4. 【JZ2440】挂载NFS文件系统(保姆级)
  5. hadoop常用shell
  6. Android面试 --Android篇
  7. 点小方显示服务器无法连接怎么回事,小方云服务器
  8. MySQL数据库三段式_对数据库模式进行规范化处理,是在数据库设计的什么阶段?...
  9. Dubbo(十四)源码解析 之 远程调用
  10. OPhone SDK初体验