在两个单独的窗体之间共享连接字符串?

时间:2014-03-27 15:37:38

标签: c# .net winforms

我正在制作一系列Windows窗体应用程序。我正在使用应用程序设置工具构建选项菜单的功能,以保持持久数据和设置。此外,所有应用程序都允许用户连接到数据库并查询数据。我试图找到一种方法将数据库部分放在选项中,以允许用户测试和设置数据库选项。设置时,我希望在运行时或下次打开另一个应用程序时,显示相同的设置或与其他应用程序同步。

到目前为止,我一直在考虑使用Windows注册表,或者使用应用程序设置创建项目并将其添加到所有应用程序。我还读到了有关使用机器配置文件的信息。我不太确定什么是最好的,或者在部署应用程序时它们将如何工作。

设置和/或值的共享不仅限于连接字符串,还包括可能与所有应用程序保持并发的任何数据。

2 个答案:

答案 0 :(得分:1)

您可以使用ConfigurationManager从任何位置打开配置文件。有了这个,您可以在所有应用程序已知的目录中定义中央配置。请参阅MSDN

答案 1 :(得分:0)

在这种情况下我使用SqlServer express,最好的免费DataBase。 在App.config中添加此代码

    <connectionStrings>
        <add name="MyConnection" connectionString="User ID=sa;Password=XXXXX;Initial Catalog=DATA_BASE_NAME;Data Source=XXXX\SQLEXPRESS"/>
</connectionStrings>

在应用程序的静态类中添加此方法

public static SqlConnection getConnection()
        {
            string conn = string.Empty;
            conn = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString;
            SqlConnection aConnection = new SqlConnection(conn);
            return aConnection;
        }

当您需要数据库连接时,可以通过这种方式调用方法

SqlConnection aConnection = getConnection();