有没有办法自动设置 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");
}
我正在制作 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");
}