c# - 将连接字符串存储在数据库中并在应用程序启动时检索它

标签 c# mysql sql sql-server

我正在 VS 2010 中开发一个 winforms 应用程序以将数据从 Sql Server 或 MySql 检索到 Sql Server 或 MySql。

我的设计是这样的。

Application Screenshot

所以在这里我将连接字符串的所有值存储在单独列中的 Sql Server 数据库表中。

我能够获取所需的字段并验证它们、测试它们并将其存储在数据库中,但我仍然不知道如何在运行时让存储的连接字符串正常工作以及如何使用最后选择的连接字符串?

请指导。

最佳答案

您的配置文件可能有这样的 connectionStrings 部分:

<connectionStrings>
    <add name="ConnectionNumberOne"
        connectionString="Data Source=ds;Initial Catalog=DB;Integrated Security=True"
        providerName="System.Data.SqlClient" />
    <add name="ConnectionNumberTwo"
        connectionString="Data Source=ds2;Initial Catalog=DB2;Integrated Security=True"
        providerName="System.Data.SqlClient" />
</connectionStrings>

您可以这样读取连接字符串:

var connectionOne = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionNumberOne"];
var connectionTwo = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionNumberTwo"];

你也可以保存连接字符串:

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.ConnectionStrings.ConnectionStrings["ConnectionNumberOne"].ConnectionString = //CONCATINATE YOUR FIELDS TOGETHER HERE
config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("connectionStrings");

关于c# - 将连接字符串存储在数据库中并在应用程序启动时检索它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20259585/

相关文章:

c# - 如何根据 GridView 列的路径打开文件位置?并且在我想创建一个 'hyper link' 的路径中

mysql - 复杂最大语句 MySQL

c# - 2 个不同的组合框并使用 2 个不同的显示、值成员

mysql - 如何链接一个经销商的产品表和多个零售店的关系? mysql

mysql - 在koa中使用mysql : co-mysql vs mysql-co?

SQL 主键

c# - 参数化查询需要 C# SQL 未提供的参数

mysql - 有没有办法优化这个MYSQL查询

c# - 将 SQL Server 2012 指定为目标平台的项目可能会遇到与 Microsoft Azure SQL 数据库 v12 的兼容性问题

c# - 使用 C# 将视频流式传输到基于 RTMP 的媒体服务器 (Red5)