2013-08-25 54 views
11

我想写的连接字符串到Web.config中是这样的:如何在web.config文件中编写连接字符串并从中读取?

<connectionStrings> 
    <add name="Dbconnection" connectionString="Server=localhost; 
     Database=OnlineShopping ; Integrated Security=True"/> 
</connectionStrings > 

,并从中读取像这样:

string strcon = 
    ConfigurationManager.ConnectionStrings["Dbconnection"].ConnectionString; 
SqlConnection DbConnection = new SqlConnection(strcon); 

当运行程序我得到的,因为空的错误参考。但当我使用此代码:

SqlConnection DbConnection = new SqlConnection(); 
DbConnection.ConnectionString = 
    "Server=localhost; Database=OnlineShopping ; Integrated Security=True"; 

我没有得到任何错误,程序工作正常! 问题是什么?

回答

1

尝试使用WebConfigurationManager代替ConfigurationManager

+3

您不需要WebConfigurationManager来读取连接字符串。 – slfan

10

添加引用添加System.Configuration: -

System.Configuration.ConfigurationManager. 
    ConnectionStrings["connectionStringName"].ConnectionString; 

你也可以改变WebConfig文件,包括供应商名称: -

<connectionStrings> 
    <add name="Dbconnection" 
     connectionString="Server=localhost; Database=OnlineShopping; 
     Integrated Security=True"; providerName="System.Data.SqlClient" /> 
</connectionStrings> 
+1

这对我有效。谢谢! – UniCoder

2

试试这个

var configuration = WebConfigurationManager.OpenWebConfiguration("~"); 
var section = (ConnectionStringsSection)configuration.GetSection("connectionStrings"); 
section.ConnectionStrings["MyConnectionString"].ConnectionString = "Data Source=..."; 
configuration.Save(); 
3

您确定您的配置文件(web.config)位于正确的位置,并且连接字符串确实在(生成的)文件中?如果您发布文件,则可能会复制web.release.config的内容。

配置和对Connection字符串的访问对我来说看起来没问题。我总是添加的providerName

<connectionStrings> 
    <add name="Dbconnection" 
     connectionString="Server=localhost; Database=OnlineShopping; 
     Integrated Security=True" providerName="System.Data.SqlClient" /> 
</connectionStrings> 
8

Web.config文件:

<connectionStrings> 
    <add name="ConnStringDb" connectionString="Data Source=localhost; 
     Initial Catalog=DatabaseName; Integrated Security=True;" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

C#代码:

using System.Configuration; 
using System.Data 

SqlConnection _connection = new SqlConnection(
      ConfigurationManager.ConnectionStrings["ConnStringDb"].ToString()); 

try 
{ 
    if(_connection.State==ConnectionState.Closed) 
     _connection.Open(); 
} 
catch { } 
1

试试这个 打开web.config文件后在应用程序并添加这样的连接字段中的样本数据库连接如下

<connectionStrings> 
<add name="yourconnectinstringName" connectionString="Data Source= DatabaseServerName; Integrated Security=true;Initial Catalog= YourDatabaseName; uid=YourUserName; Password=yourpassword; " providerName="System.Data.SqlClient"/> 
</connectionStrings > 
相关问题