有没有办法自动设置 SQL 连接字符串?

Is there a way to set SQL connection string automatically?

我正在制作 C# windows 表单应用程序 - 连接到数据库,所以我需要连接它。

"problem" 是我的应用程序应该可以在任何 PC 上运行。

但是,正如我们所知,每台 PC 都有不同的 SQL 连接字符串。每次有人运行应用程序时都更改代码中的连接字符串有点不切实际。

所以,我的问题是,有没有办法避免这种情况?

通常,您的连接字符串在 xml .config file 中:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <connectionStrings>
        <add name="Test" connectionString="Data Source=SERVER;Initial Catalog=DATABASE;User Id=USER;Passwor=PASSWORD" providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

然后您使用 ConfigurationManager 获得它们:

var connectionString = ConfigurationManager.ConnectionStrings["Test"].ConnectionString;

您仍然需要更新每台 PC 上的 .config 文件,但不需要重新编译源代码。

这是从所有 PC 连接到同一个数据库的示例

    //Geting Connection to database
    static SqlConnection GetConnection()
    {
        return new SqlConnection(@"Data Source=.\SQLEXPRESS; Initial Catalog=Northwind; Integrated Security=SSPI");
    }