AppSettings&ConnectionStrings关于数据库连接 的区别[转]
功能上根本没有什么区别,都是数据库连接字符串。但用法上就有区别了。
先来看看他们的表现形式。
AppSettings是用在VS03的。(当然05中也可以使用)
<appSettings >
<add key="connectionstringName" value="data source=服务器名或IP;initial catalog=数据库名;persist security info=False;user id=用户;password=密码;">
</add>
</appSettings >
ConnectionStrings 是在VS05中使用的(03中不能用)
<connectionStrings>
<add name="ConnectionStringName" connectionString="Data Source=服务器名;Initial Catalog=数据库名;User ID=用户;Password=密码"
providerName="System.Data.SqlClient" />
</connectionStrings>
因为本人喜欢编写代码实现连接,不习惯05的“拖拽”实现。后经过发现VS05拖拽的SqlDataSource控件在web.config中自动生成的代码是:
<connectionStrings>
<add name="NorthwindConnectionString1" connectionString="Data Source=服务器名或IP;Initial Catalog=数据库名;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
自动生成的代码中没有数据库连接密码和用户名。其他都一样。两者功能上是没有区别的。说到这里大家应该明白我想说的意思。就是如果连接远程数据库应该怎么办呢?毕竟得提供密码和用户名吧。可对于生手可就迷茫了。呵呵!把下面的连接添加上密码和用户名就行了。像上面的一样。
那么AppSettings和ConnectionStrings到底有什么区别呢?
1、AppSettings在03、05 中都可以使用 而ConnectionStrings只能用在05
2、AppSettings的连接字符串的属性名是key 而ConnectionStrings为name
3、检索值不同 写在 <appSettings >中用System.Configuration.ConfigurationManager.AppSettings["name"]检索值。
写在 <ConnectionStrings>中用System.Configuration.ConfigurationManager.ConnectionStrings["name"].ToString()检索值 后面需加ToString()转成字符型
4、ConnectionStrings ,在页面还可以这样引用<%$ ConnectionString:Name%>. 而AppSettings不可以
5、使用ConnectionStrings 可以加密连接字符串
6、使用ConnectionStrings 可方便的更换数据库平台,如换为Oracle数据库,只需修改providerName提供程序即可,而appSettings 更换比较麻烦,还得改其他代码