app.config文件中有多个SQL Server连接字符串
我有兴趣在Windows窗体应用程序中显示N个单选按钮列表,供用户选择目标数据库服务器。 我想在app.config文件中添加SQL Server连接字符串,因此它们在运行时由应用程序读取,并在窗体中作为单选按钮呈现。
起初我想过使用分隔符来分隔连接
然后拆分键值对。
是否有可能以不同的方式做到这一点?
要从app.config中查找所有已定义的连接字符串,请使用ConfigurationManager
(来自System.Configuration)。
它有一个枚举: ConfigurationManager.ConnectionStrings
,它包含
中的所有条目。
您可以使用以下代码循环它:
foreach(ConnectionStringSettings css in ConfigurationManager.ConnectionStrings) { string name = css.Name; string connString = css.ConnectionString; string provider = css.ProviderName; }
Name
只是你给连接字符串的符号名称 – 它可以是任何东西,真的。
ConnectionString
是连接字符串本身。
ProviderName
是连接的ProviderName
的名称,例如SQL Server的System.Data.SqlClient
(以及其他数据库系统的其他)。 如果从config中的连接字符串中省略providerName=
属性,则默认为SQL Server(System.Data.SqlClient)。
渣
使用connectionStrings部分定义连接字符串。
是的,可以用另一种方式做到这一点。 检查您可以在app.config文件中创建的connectionStrings部分。
我们可以在Web.Config或App.Config下声明多个连接字符串
在DAL或.cs文件中,您可以访问连接字符串,如此string SounceConnection = ConfigurationManager.ConnectionStrings["SourceDB"].ConnectionString; string DestinationConnection = ConfigurationManager.ConnectionStrings["DestinationDB"].ConnectionString;
string SounceConnection = ConfigurationManager.ConnectionStrings["SourceDB"].ConnectionString; string DestinationConnection = ConfigurationManager.ConnectionStrings["DestinationDB"].ConnectionString;
您可以使用AppSettings类,获取以ConnectionString开头并显示它们的所有键的列表。
您的配置文件将如下所示:
您可以通过拆分键名来获取名称(在此示例中使用“_”)。
顺便说一句:您还应该使用ConnectionStrings部分,您只对连接字符串感兴趣。
这是如何使用LINQ获取连接字符串列表:
List connectionStrings = ConfigurationManager.ConnectionStrings .Cast() .Select(v => v.ConnectionString) .ToList();
或者你可以建立一个它的字典:
Dictionary keyValue = ConfigurationManager.ConnectionStrings .Cast() .ToDictionary(v => v.Name, v => v.ConnectionString);