Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在源代码文件中使用web.config中的connectionstring_C#_Asp.net - Fatal编程技术网

C# 在源代码文件中使用web.config中的connectionstring

C# 在源代码文件中使用web.config中的connectionstring,c#,asp.net,C#,Asp.net,我知道这可能是一个非常基本的问题,但也许这就是为什么我找不到答案的原因。现在,我正在源文件中创建数据库连接,方法如下: SqlConnection con = new SqlConnection("Data Source=...Password=...); SqlCommand cmd = new SqlCommand(String.Format("SELECT * FROM Table;"), con); con.Open(); SqlDataReader reader = cmd.Execu

我知道这可能是一个非常基本的问题,但也许这就是为什么我找不到答案的原因。现在,我正在源文件中创建数据库连接,方法如下:

SqlConnection con = new SqlConnection("Data Source=...Password=...);
SqlCommand cmd = new SqlCommand(String.Format("SELECT * FROM Table;"), con);
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
但这意味着,如果我选择改变数据库,这将是一个巨大的痛苦。你们知道如何使用web.config文件中的连接字符串吗

谢谢大家!

你可以试试

var conString = System.Configuration.
                ConfigurationManager.ConnectionStrings["connectionStringName"];
string strConnString = conString.ConnectionString;
SqlConnection con = new SqlConnection(strConnString);
确保您的网站引用了System.Configuration,否则它将无法工作

文档可以在app.config(或web.config)中找到,代码示例为:


随着StackOverflowException的响应,确保使用System.Configuration添加到您的代码隐藏页面

您可以使用EnterpriseLibrary

using Microsoft.Practices.EnterpriseLibrary.Data;
然后创建一个方法来获取连接字符串:

 public static string GetConnectionString()
    {
        Database YourData = DatabaseFactory.CreateDatabase("someconnectionname");
        return YourData .ConnectionString;
    }
在web.config中,您将有以下内容:

 <connectionStrings>   
   <add name="someconnectionname" connectionstring=..... />
 </connectionString>

如果您得到“无法隐式地将类型“system.configuration.connectionstringsettings”转换为“string”,请执行以下操作:


+1:请注意,OP可能必须手动将System.Configuration引用添加到他的项目中。出于好奇,您是否正在关闭/处理连接/命令/读卡器?如果您没有使用“using”关键字,请开始!OLEDB连接如何?您应该可以在connection strings.com上找到该信息。
using Microsoft.Practices.EnterpriseLibrary.Data;
 public static string GetConnectionString()
    {
        Database YourData = DatabaseFactory.CreateDatabase("someconnectionname");
        return YourData .ConnectionString;
    }
 <connectionStrings>   
   <add name="someconnectionname" connectionstring=..... />
 </connectionString>
string connectionString = ConfigurationManager.ConnectionStrings["MainConnectString"].ConnectionString;