winforms 如何在运行时以编程方式从本地数据库获取连接字符串?

1zmg4dgp  于 2023-05-18  发布在  其他
关注(0)|答案(1)|浏览(138)

我使用Winforms(c#)以编程方式创建了一个本地DB,并向其中添加了表、存储过程,并存储在用户首选的位置。现在,我只想让我的Winforms应用程序访问它,而不需要打开visual studio或SSMS来获取该数据库的连接字符串。

**我的尝试:**我打开了Visual Studio获取数据库的连接字符串,并将其添加到WinForms应用程序的连接字符串中,我想使用它进行事务。

是否有任何方法可以编程地从Winforms应用程序中检索用户选择的数据库的连接字符串?
比如
1.用户从WinForms应用程序中选择已创建的localdatabase.mdf的位置。
1.应用程序检索连接字符串,以便他可以使用它连接到数据库。
检索可以是类似于仅检索数据库的Data Source的部分。我可以设法用它构建连接字符串。比如使用Initial Catalog的文件名,以及使用字符串添加Integrated security

jv4diomz

jv4diomz1#

您可以使用SqlConnectionStringBuilder Class获取和编辑连接字符串。
这里的连接字符串是方法的本地,但在下面方法范围内的任何地方。

public static void ChangeConnectionStringFromExisting()
{

    var connectionString = "Server=localhost;Integrated security=SSPI;database=master";

    var builder = new SqlConnectionStringBuilder(connectionString);

    builder.DataSource = "(LocalDB)\\MSSQLLocalDB";
    builder.InitialCatalog = "MyAppDatabase.mdf";

    connectionString = builder.ConnectionString;

    using (var cn = new SqlConnection(connectionString))
    {
        // . . .
    }

}

相关问题