关于如何得到web.config中的数据库连接字符串

关于如何得到web.config中的数据库连接字符串

1.先在界面层建立一个应用程序配置文件

<connectionStrings >
<add name ="NorthwindConnectionString" connectionString ="data source =(local);uid =sa;database =northwind"/>
</connectionStrings>

2. Vs 数据访问层连接的语句是

public SqlConnection GetConncetion()
{
string stringNorthwind = ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString;
SqlConnection conn = null ;
try
{
conn = new SqlConnection(stringNorthwind);
conn.Open();
}
catch (Exception ex)
{
//
此时可以不处理异常
}
finally
{
conn.Close();
}
return conn;

}

这只是连接一个SQL 数据库

.net1.1中如果需要灵活的操作和读写配置文件并不是十分方便,一般都会在项目中封装一个配置文件管理类来进行读写操作。而在.net2.0中使用configurationmanager webconfigurationmanager 类可以很好的管理配置文件,configurationmanager类在system.configuration中, webconfigurationmanagersystem.web.configuration中。根据msdn的解释,对于 web 应用程序配置,建议使用 system.web.configuration.webconfigurationmanager 类,而不要使用 system.configuration.configurationmanager 类。

下面我给出一个简单的例子说明如何使用webconfigurationmanager操作配置文件:
//
打开配置文件
configuration config = webconfigurationmanager.openwebconfiguration("~");
//
获取appsettings节点
appsettingssection appsection = (appsettingssection)config.getsection("appsettings");
//
appsettings节点中添加元素
appsection.settings.add("addkey1", "key1s value");
appsection.settings.add("addkey2", "key2s value");
config.save();

运行代码之后可以看见配置文件中的改变:

<appsettings>
<add key="addkey1" value="key1s value" />
<add key="addkey2" value="key2s value" />
</appsettings>
修改和删除节点或属性也非常方便:

//打开配置文件
configuration config = webconfigurationmanager.openwebconfiguration("~");
//
获取appsettings节点
appsettingssection appsection = (appsettingssection)config.getsection("appsettings");
//
删除appsettings节点中的元素
appsection.settings.remove("addkey1");
//
修改appsettings节点中的元素
appsection.settings["addkey2"].value = "modify key2s value";
config.save();
配置文件:
<appsettings>
<add key="addkey2" value="modify key2s value" />
</appsettings>
参考:http://msdn2.microsoft.com/en-us/library/ms228060.aspx

<!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter" /> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0" /> <v:f eqn="sum @0 1 0" /> <v:f eqn="sum 0 0 @1" /> <v:f eqn="prod @2 1 2" /> <v:f eqn="prod @3 21600 pixelWidth" /> <v:f eqn="prod @3 21600 pixelHeight" /> <v:f eqn="sum @0 0 1" /> <v:f eqn="prod @6 1 2" /> <v:f eqn="prod @7 21600 pixelWidth" /> <v:f eqn="sum @8 21600 0" /> <v:f eqn="prod @7 21600 pixelHeight" /> <v:f eqn="sum @10 21600 0" /> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" /> <o:lock v:ext="edit" aspectratio="t" /> </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" alt="" style='width:.75pt; height:.75pt' /><![endif]--><!--[if !vml]--><!--[endif]-->

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭