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