我对c#很新。到目前为止,学习如此好。我有一个问题,也许有两个问题。
如何创建用户对话框以允许在项目启动时选择连接字符串?我有4个具有相同模式的数据库,并希望允许用户在启动程序时选择要连接的数据库。
我目前正在使用数据集,但我愿意学习/尝试另一种方法来实现所需的结果。
答案 0 :(得分:5)
将它们放入config的connectionStrings
区域,并为用户提供包含连接字符串名称的ComboBox。然后使用选定的那个。
在你的配置中:
<connectionStrings>
<add name="Environment1" connectionString="connString1" providerName="System.Data.SqlClient" />
<add name="Environment2" connectionString="connString2" providerName="System.Data.SqlClient" />
<add name="Environment3" connectionString="connString3" providerName="System.Data.SqlClient" />
<add name="Environment4" connectionString="connString4" providerName="System.Data.SqlClient" />
</connectionStrings>
在您的代码中,将连接字符串添加到ComboBox:
foreach (ConnectionStringSettings connString in ConfigurationManager.ConnectionStrings)
{
myComboBox.Items.Add(connString.Name);
}
从ComboBox中获取名称,然后获取所需的connString并使用它:
// Access chosen one:
string chosenName = (string)myComboBox.SelectedItem;
string connString = ConfigurationManager.ConnectionStrings[chosenName].ConnectionString;
答案 1 :(得分:1)
您需要按照 zimdanen 的建议将各种数据库的连接字符串放入app.config
或web.config
文件中,如下所示:
<connectionStrings>
<add name="Database1" connectionString="Data Source=.\SQLEXPRESS;Initial
Catalog=db1;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
然后您可以使用ConfigurationManager
类来实现结果:
foreach (ConnectionStringSettings connectionString in
ConfigurationManager.ConnectionStrings)
{
//YOU CAN ADD NAME OF CONNECTION STRING TO A COMBOBOX FOR USER TO MAKE
// A SELECTION
//connectionString.Name
}
选择完成后,您可以使用以下行获取所需的连接字符串:
var s=ConfigurationManager.ConnectionStrings[<SELECTED NAME>].ConnectionString
答案 2 :(得分:0)
添加应用程序配置文件并在&lt;中添加连接字符串的ConnectionStrings取代。在您的代码中使用ConfigurationManager.ConnectionString来枚举连接字符串列表。