0

我有几个数据库位于本地网络的许多 SQL Server(2008)中。所有这些数据库都具有相同的结构和表,它们之间的唯一区别是数据。我需要一个软件,当用户使用用户名和密码输入特定服务器的地址时,该软件有权登录该服务器并从该服务器检索数据。

如果我像这样使用连接字符串:

string server_address = "...";
string database = "...";
string username = "...";
string password = "...";        
string connectString = "Data Source=" + server_address + ";Initial Catalog= " + database + ";uid= " + username + ";pwd= " + password + "\"";
SqlConnection conn = new SqlConnection(connectString);
conn.Open();
....
conn.Close();

我可以用这种类型的连接来解决我的问题。

但是,我使用 LINQ 来检索数据,并且连接字符串存储在文件“app.config”中。那么,如何更改此文件中的此字符串?例如,我当前的测试连接字符串 app.config 是:

<connectionStrings>
<add name="MyProgram.Properties.Settings.TestDatabaseConnectionString"
connectionString="Data Source=172.16.1.73;Initial Catalog=TestDatabase;uid=sa;pwd=1"
providerName="System.Data.SqlClient" />
</connectionStrings>

我在我的电脑上运行这个只是为了测试,但是当这个程序在另一台电脑上运行时,用户必须输入服务器地址“172.16.1.xxx”,用户名和密码。如何让程序在 app.config 文件中更改这些?

提前致谢。

4

1 回答 1

0

我想你可以这样做:

// Northwnd 继承自 System.Data.Linq.DataContext。

Northwnd nw = new Northwnd(@"northwnd.mdf");

// 或者,如果您没有使用 SQL Server Express

Northwnd nw = new Northwnd("Database=Northwind;Server=server_name;Integrated Security=SSPI");

(来自 MSDN 的示例)。

于 2013-09-26T03:45:23.327 回答