前言
一般情况下程序员都习惯把数据库连接配置写到配置文件"web.config"中,应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的。它是可以按需要更改的,这样做的主要优点是能随时更改数据库配置(比如修改账号密码)而不用再编译。配置文件的根节点是configuration。我们经常访问的是appSettings,它是由.Net预定义的配置节。我们经常使用的配置文件的架构是客诉下面的形式。
常见配置文件模式:
<configuration> <configSections> //配置节声明区域,包含配置节和命名空间声明 <section> //配置节声明 <sectionGroup> //定义配置节组 <section> //配置节组中的配置节声明 <appSettings> //预定义配置节 <Custom element for configuration section> //配置节设置区域
写入配置文件
下面是机房重构中应用程序配置文件的代码,只有appSettings节:
<appSettings> <add key="ConnStr" value="Server=.;Database=JiFang;User ID=sa;Password=804110ldb" /> <add key="DB" value="LoginDAL" /> <add key="ClientSettingsProvider.ServiceUri" value="" /> </appSettings>
读取配置文件
.cs文件中读取配置文件,利用下面代码
public static string ConnectionString = ConfigurationManager.AppSettings["ConnStr"]; SqlConnection conn = new SqlConnection(ConnectionString);
错误
连接数据库时,提示"ConnectionString属性尚未初始化",具体提示如图:
通过度娘以及断点调试,发现ConnectionString为null,竟然没有赋值成功。错误源代码如下:
然后到配置文件一看,数据库链接的键值key=ConnStr,原来如此啊。
接着把错误源代码中“Connstring”改为了“ConnStr”,问题解决。<add key="ConnStr" value="Server=.;Database=JiFang;User ID=sa;Password=804110ldb" />
"ConnectionString属性尚未初始化"错误原因总结:
一、ConnectionString对象未赋值
在.cs中读取配置文件,连接数据库将读取的值赋值给"SqlConnection"类型变量,然后要注意配置文件中的键值"StrCon".(Ps:我的错误原因就是这个)
二、配置文件书写错误
很多朋友都或许遇到过"ConnectionString属性尚未初始化"的提示,根本原因是没有能读到key的值。这时需要校正下配置文件中"strConn",即确认配置文件路径、名称、密码等输入正确。
小结
当然,"ConnectionString属性尚未初始化"错误原因不知上边提到的两个,还有其他原因,需要我们不断碰到,不断解决。