我的表单上有一个 dataAdapter、dataSet 和 BindingSource,用于连接到 SQL 数据库以显示表单中的数据,一切正常。但是,我需要有两个连接服务器的选项。 例如 ISSP\SQLEXPRESS 和 MY-WEB。 我不知道该怎么做,想知道是否有人可以给我一些帮助,从哪里开始?谢谢 :) 但是当使用变量时它说它无法连接。
我正在使用下面的代码,但它说它无法连接,所以我想知道我引用的变量是否错误?
sqlConnectionNW.ConnectionString = "Data Source=@server;Initial Catalog=Northwind;Integrated Security=True";
当我将代码更改为以下内容时,它可以正常工作。
sqlConnectionNW.ConnectionString = "Data Source=ISSP\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True";
最佳答案
首先将两个连接设置添加到您的应用配置文件中:
<connectionStrings>
<add name="Test"
connectionString="Data Source=ISSP\SQLEXPRESS;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;"
providerName="System.Data.SqlClient" />
<add name="Production"
connectionString="Data Source=MY-WEB;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;"
providerName="System.Data.SqlClient" />
</connectionStrings>
在您的应用程序中,向表单添加一个 ComboBox(在本例中称为 uiConnection),并添加以下代码来填充它:
uiConnection.ValueMember = "Name";
foreach (ConnectionStringSettings con in ConfigurationManager.ConnectionStrings)
{
uiConnection.Items.Add(con);
}
您现在可以使用下拉列表指定要连接到的数据库。当您获取数据时,请执行以下操作以获得正确的连接字符串:
ConnectionStringSettings connection = uiConnection.SelectedItem as ConnectionStringSettings
string queryString = "SELECT CustomerID, CompanyName FROM dbo.Customers";
SqlDataAdapter adapter = new SqlDataAdapter(queryString, connection);
DataSet customers = new DataSet();
adapter.Fill(customers, "Customers");
关于c# - 连接数据源之间的选择 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5418316/