如何使用C#中的app.config文件定义连接字符串

时间:2014-01-01 18:25:18

标签: c# winforms connection-string app-config

目前我在C#代码中手动定义连接字符串:

string ConnectionString = "Data Source=C;Initial Catalog=tickets;Integrated Security=True";
SqlConnection Conn = new SqlConnection(ConnectionString);
Conn.Open();

在我的项目中,我有一个app.config文件,我可以看到它有一个连接字符串。 它看起来像这样:

<?xml version="1.0"?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
    <add name="ticketNotification.Properties.Settings.ticketsConnectionString"
        connectionString="Data Source=C;Initial Catalog=tickets;Integrated Security=True"
        providerName="System.Data.SqlClient" />
</connectionStrings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

如何根据与我的应用程序相同的文件夹中的app.config文件定义连接字符串?

4 个答案:

答案 0 :(得分:9)

使用此

修改您的应用程序

App.config文件

<?xml version="1.0"?>
  <configuration>
    <configSections>
    </configSections>
    <connectionStrings>
         <add name="ticketNotification.Properties.Settings.ticketsConnectionString"
              connectionString="Data Source=C;Initial Catalog=tickets;Integrated Security=True" providerName="System.Data.SqlClient" />
    </connectionStrings>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    </startup>
  </configuration>

这是你的代码隐藏文件。您需要使用System.Configuration命名空间。 System.Configuration命名空间包含ConfigurationManager类,用于从app.config/web.config文件获取连接字符串。

由于这是一个Windows应用程序,因此您有App.config文件,您已在其中定义了连接字符串。要获取配置文件中定义的连接字符串,您需要在所需的事件处理程序中使用下面的代码行

将此命名空间添加到您的代码(例如:Form1.cs)文件

之后
using System.Configuration;

在eventhandler里面添加/修改这些代码

  string myConnectionString = ConfigurationManager.ConnectionStrings["ticketNotification.Properties.Settings.ticketsConnectionString"].ConnectionString;

  using(SqlConnection Conn = new SqlConnection(myConnectionString))
  {
     Conn.Open();
     //Define the SQL query need to be executed as a string

    //Create your command object

    //Create Dataset,Dataadapter if required

    //add parameters to your command object - if required

   //Execute your command

   //Display success message
 }

答案 1 :(得分:7)

要从app.config文件获取连接字符串,请使用位于System.Configuration命名空间中的类ConfigurationManager。

要按名称获取连接字符串并根据它创建连接,可以使用以下代码:

SqlConnection conn = new SqlConnection(
      ConfigurationManager.ConnectionStrings[
         "ticketNotification.Properties.Settings.ticketsConnectionString"]
             .ConnectionString);

您可以在此处阅读更多相关信息(MSDN文档): http://msdn.microsoft.com/en-us/library/ms254494(v=vs.110).aspx

确保您的项目包含对System.Configuration的引用,否则为ConfigurationManager 将无法在System.Configuration命名空间中使用。

问候。

答案 2 :(得分:5)

首先通过右键单击“引用”并选择“添加引用”来添加对System.Configuration的引用。然后使用

Using System.Configuration

// within the class here

ConfigurationManager.ConnectionStrings["ticketNotification.Properties.Settings.ticketsConnectionString"].ConnectionString;

显然,您需要在括号中输入连接字符串的名称。

答案 3 :(得分:0)

您需要向项目添加对System.Configuration的引用。然后,您将能够添加using System.Configuration语句并使用以下命令获取连接字符串:

string connectionString = ConfigurationManager.ConnectionStrings[<name>].ConnectionString;