【问题标题】:Connection String issues in WPFWPF 中的连接字符串问题
【发布时间】:2025-12-06 04:35:01
【问题描述】:

我刚刚使用 C# 和 MS SQL 2008 express 完成了我在 WPF 中的第一个项目。我使用过 Visual Studio 2010。我现在拥有的是一个类“conn.cs”,它有一个方法可以在我需要时返回连接字符串。另外我刚刚注意到我有一个 App.Config 文件,其中还定义了一个连接字符串(两个字符串都引用同一个数据库)。

我的conn.cs

class conn
    {
        public string get_connection()
        {
            string conn_string = @"Data Source=.\sqlexpress;Initial Catalog=msp;Integrated Security=True;Pooling=False";
            return conn_string;
        }
    }

App.Config

<connectionStrings>
        <add name="msp.Properties.Settings.mspConnectionString" connectionString="Data Source=.\sqlexpress;Initial Catalog=msp;Integrated Security=True;Pooling=False" providerName="System.Data.SqlClient"/>
</connectionStrings>

我现在想知道两件事。

  1. 如何从 App.Config 中获取连接字符串?然后我需要这样做,我将从那里获取我的conn.cs 中的字符串,然后在需要时更改 app.config 中的连接字符串。
  2. 另外告诉我,是否可以在运行时设置连接字符串?我希望用户在首次运行时浏览到数据库(.mdf) 文件,然后应生成连接字符串并将其保存在app.config 中。然后我可以轻松地从那里拿起它并使用。

请提供建议。

【问题讨论】:

    标签: sql-server wpf visual-studio-2010 c#-4.0 connection-string


    【解决方案1】:

    你应该可以使用这个来访问你的连接字符串:

    string connString = Properties.Settings.Default.mspConnectionString;
    

    (在键入 Properties.Settings.Default 时,您应该会自动在成员列表中看到您的选择)

    当然可以在运行时设置连接字符串;它基本上只是另一个字符串。我不建议对连接字符串进行硬编码;尽管。

    您可能想尝试一下 SqlConnectionStringBuilder 类;例如,参见this MSDN article。但实际上我到目前为止从未使用过它,除了在这里和那里的一些实验,虽然我实际上只做数据库驱动的软件......

    【讨论】:

    • 我会试一试,很快就会在这里发帖。
    • 我可以在运行时在 app.config 中设置 ConnectionString 吗?我猜上面的代码只允许获取。
    • 实际上从未尝试过;因为 ConnectionString 始终是 ApplicationSetting 而不是 UserSetting 我认为您不能在运行时保存它。但是您可以尝试创建一个 String UserSetting 并将其用于存储连接字符串;这些可以被覆盖和保存。
    最近更新 更多