如何建立连接字符串类?

时间:2013-12-10 17:03:43

标签: c# winforms oledbconnection

我开发了一个基于7 winform的应用程序。我的数据库在MS Access上。我想为连接字符串创建一个公共单个类,并在所有winforms中使用它。这样,我可以避免以所有形式复制和粘贴连接字符串。我不知道该怎么做。

3 个答案:

答案 0 :(得分:7)

您可以在App.Config文件

中建立连接字符串
   <connectionStrings>
      <add name="MyDBConnection" providerName="System.Data.SqlClient"
            connectionString="Data Source=localhost;Initial Catalog=YourDB; Integrated Security=true" />
   </connectionStrings> 

然后您可以像访问它一样访问它:

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

请参阅:How to: Add an Application Configuration File to a C# Project

答案 1 :(得分:2)

我通常使用类和@scottk之类的静态成员,但是我将检查DEBUG预处理程序符号,以便我可以在调试版本上切换到开发数据库。我也使用OleDbConnectionStringBuilder来提高可读性,即使它确实有点过分:

public static class ConnectionStrings
{
    #if DEBUG
    public static string DBName
    {
        get
        {
            OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder
            {
                DataSource = @"C:\devDB.mdb",
                Provider = "Microsoft.Jet.Oledb.4.0"
            };

            return builder.ToString();
        }
    }
    #else
    public static string DBName
    {
        get
        {
            OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder
            {
                DataSource = @"C:\prodDB.mdb",
                Provider = "Microsoft.Jet.Oledb.4.0"
            };

            return builder.ToString();
        }
    }
    #endif
}

答案 2 :(得分:0)

您可以使用静态成员和属性创建一个类。

public class Utils
{
    private static string connectionString = "Data Source=localhost;Initial Catalog=YourDB; Integrated Security=true";

    public static string ConnectionString
    {
        get
        {
            return connectionString;
        }
        set
        {
            connectionString = value;
        }
    }
}

然后您可以像访问它一样访问它:

string connString = Utils.ConnectionString;