首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

是否有可能(以及如何)在C#中在运行时将ConnectionString添加到app.config?

是的,可以在C#中在运行时将ConnectionString添加到app.config。以下是一种方法:

  1. 首先,在项目中添加对System.Configuration的引用。
  2. 然后,在代码中使用以下方法将ConnectionString添加到app.config:
代码语言:csharp
复制
using System.Configuration;

public static void AddConnectionString(string connectionStringName, string connectionString)
{
    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    ConnectionStringsSection connectionStringsSection = config.GetSection("connectionStrings") as ConnectionStringsSection;

    if (connectionStringsSection != null)
    {
        ConnectionStringSettings connectionStringSettings = new ConnectionStringSettings(connectionStringName, connectionString);
        connectionStringsSection.ConnectionStrings.Add(connectionStringSettings);
        config.Save(ConfigurationSaveMode.Modified);
        ConfigurationManager.RefreshSection("connectionStrings");
    }
}
  1. 调用此方法,传入ConnectionString的名称和连接字符串本身:
代码语言:csharp
复制
AddConnectionString("MyConnectionString", "Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=True");

这样,在运行时,就可以将ConnectionString添加到app.config文件中。

需要注意的是,在添加ConnectionString时,需要确保已经添加了对System.Configuration的引用,并且在代码中使用了System.Configuration命名空间。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

保护连接字符串

即使为外部源提供包含用户标识和密码信息的编译版代码,编译的代码也可能会被反汇编,用户标识和密码可能会被使用 MSIL 反汇编程序 (Ildasm.exe) 工具公开。...因此,关键信息(如用户标识和密码)一定不要存在于代码中。 指定 Windows 身份验证(集成安全性) 建议您尽可能使用 Windows 身份验证(也称为集成安全性)。...将连接字符串存储在配置文件中 为了避免将连接字符串存储在代码中,可以将代码存储在 ASP.NET 应用程序的 web.config 文件中以及 Windows 应用程序的 app.config 文件中。...连接字符串可以存储在配置文件的 元素中。连接字符串存储为键/值对的形式,可以在运行时使用名称查找存储在 connectionString 属性中的值。...ASP.NET 应用程序的 Web.config 文件或 Windows 应用程序的 App.config 文件)中的敏感信息,包括用户名和密码、数据库连接字符串和加密密钥。

2.2K50

C# 读写App.config配置文件的方法

(在解决方案管理器中右键点击工程名称,在右键菜单中选择添加引用,在.NET选项卡下即可找到。)...这是因为据说微软不太建议我们动态写入app.config文件,而是建议手工配置后,在程序运行时只做静态访问。 如果实在需要在程序中进行修改,也即写入App.Config,请往下看。...二、C# 中的 ConfigurationManager类引用方法 c#添加了Configuration;后,竟然找不到 ConfigurationManager 这个类,后来才发现:虽然引用了using...第一个文件为项目实际使用的配置文件,在程序运行中所做的更改都将被保存于此;第二个文件其实为原代码中“App.config”的同步文件,在程序运行中不会发生更改。...5、可能有读者会想到,既然app.config是标准XML,当然也可以用操纵一般XML文件的方法来读写。这当然是可以的!

8.9K90
  • EF 数据库连接约定(Connection String Conventions in Code First)

    注:VS2010默认安装SQL Express,VS2012默认安装LocalDb,在安装过程中,EF NuGet包会检查哪个数据库服务(前面介绍的)可用,当EF创建默认连接的时候,当EF创建默认链接的时候...,NuGet包将通过设置默认的Code First数据库服务器来更新配置文件,该数据库服务器在通过约定创建连接时首先使用该服务器。....如果SQL Express 正在运行,它会被使用,如果它不可用,LocalDb会替代它,但是这个过程不会对配置文件做任何的更改,如果它已经包含默认连接工厂的设置..../web.config配置文件中的连接字符串,表示你在应用程序中已经进行了配置,这一点要区分上面的方法. (1)、有Ado.Net使用经历的都知道,一般情况下,数据库连接字符串一般定义在app.config...另外一种方式是传递给DbContext构造函数配置文件中的connectionString节点的name属性来指定上下文通过配置文件中connectionString来连接字符串,代码如下: public

    1.5K90

    CSharpEntityFramework与CodeFirst实践

    在c#中,我们使用EntityFramework来实现Code First场景。...好在c#中有了EF这样的强大的框架以及Code First的思想。带给我们全新的开发体验。...回到项目中,接下来我们创建Book实体类,为其添加Id、Title以及Price属性,同时使用特性在属性以及类名上标注该实体类在数据库中的体现方式: namespace CodeFirstDemo {...book表(不需要此刻已经有Book表),使用[Required]特性来表明字段是否可为空,此外,由于EF默认将Id属性视为主键,所以无需使用[Key]特性来指明上面的Id为主键。...在Nuget命令行中输入:Enable-Migrations(有个s,注意) PM> enable-migrations 注意:如果此处提示:具有固定名称“MySql.Data.MySqlClient”

    28310

    配置文件中的数据库连接串加密了,你以为我就挖不出来吗?

    讲故事 前几天在调试物联柜终端上的一个bug时发现 app.config 中的数据库连接串是加密的,因为调试中要切换数据库,我需要将密文放到专门的小工具上解密,改完连接串上的数据库名,还得再加密贴到 app.config...从上图中可以看出,连接串的明文是存放在: OleDbHelper.ConnectionString 中的,然后可以看到,程序中定义了一个 Decrypt 方法专门用来解密连接串,哈哈,有了这个算法,是不是就可以脱库啦...诚然,解密算法搬走了,再用 ILSpy 去挖已经没有任何意义了,但这里有一个重要突破点,不管是用什么形式解密的,最后的连接串明文都是存放在 OleDbHelper.ConnectionString 这个静态变量中...思路 要想挖出 OleDbHelper.ConnectionString,其实也很简单,在 CLR via C# 第四章中关于对象类型和类型对象的解读有这么一张图,很经典。...OleDbHelper类中 有两个静态字段: ConnectionString 和 SecurityConnectionString。

    67020

    在.NET Core中使用MongoDB明细教程(1):驱动基础及文档插入

    作者:依乐祝 原文地址: 在本教程系列中,我将向您展示如何使用.NET驱动程序提供的CRUD函数在.NET应用程序中使用MongoDB。MongoDB驱动允许您使用来自不同编程语言的MongoDB。...文档存储在集合中,如果你对SQL比较熟悉的话,可以将集合视为表,将文档视为表中的记录。...获取一个集合 在讨论了创建集合之后,还需要一个额外的步骤来检查集合是否存在,创建它,然后将文档添加到集合中。如果集合不存在,GetCollection会自动创建一个集合,并将文档添加到该集合中。...在这个包中,我们有表示BSON类型的类,以及如何在.NET类型和BsonValue之间映射。...,在下一篇文章中,我将介绍如何对文档进行检索以及为此构建的各种filter及linq查询技巧,有兴趣的可以关注下我的公众号“DotNetCore实战”第一时间进行更新!

    2.9K30

    功能设置

    ="Data Source=test.sdf;" providerName="SqlCe" /> 连接字符串最常见的地方就是app.config/web.config中的connectionStrings...--SQL执行时间。跟踪SQL执行时间,大于该阀值将输出日志,默认1000毫秒--> 1000 可能是配置中最常用的一个配置项,可以在日志中明明白白看到应用在执行啥数据库操作,每分钟执行超过30次的中大型应用务必关闭,否则光日志就能写爆磁盘; SQLPath。...慢日志跟踪时间,默认1000ms,执行时间超过此值的SQL将输出在日志中(常规日志,非SQL日志),对于中大型系统分析问题非常有用; UseParameter。...提供者,数据库类型,特用于配置中心,便于在连接字符串中指定数据库类型 SQLite数据库的连接字符串有特殊支持,外部没有设置时,自动配置WAL等以极大提高性能。

    1.9K50

    初识SqlLite ---.net连接数据库

    安装后,在VS2010中新建数数库链接就会看到有System.Data.SQLite的链接,在这里你可以创建和打开Sqlite数据库: ?...由于该类数据表中的数据存储非常分散,因此在查询时,无法得到更好的批量IO读取效果,从而影响了查询效率。  在SQLite中,仅支持清理当前连接中的主数据库,而不能清理其它Attached数据库。...reader.GetString(1)); } Console.WriteLine(sb.ToString()); Console.Read(); 点击运行,有可能会报错...原因是驱动版本问题,详细可见 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该......="v4.0"/> 因为我用的是控制台,所有要另外添加app.config文件 好,在运行,成功:结果如下 ?

    1.7K80

    c# mysql executenonquery_C#与数据库访问技术总结(八)之ExecuteNonQuery方法

    当命令文本在指定具体命令时,必须指出哪一部分是在运行时进行设置的,也就是必须指出哪部分是参数。 那些可变的部分即参数,它们都必须有一个@前缀。...Update student set sName=@userName where ID=@userid 这个命令中,@userName和@userid为参数,它们的值在运行时是可变的。...接着为paramUserName指定了Value属性,表示在运行时将用这个值代替命令中的@userName。 最后是调用Add方法将参数添加到命令的参数集合中,这一步很容易被初学者忽略,要格外注意。...如果存储过程返回值,或者有一些参数,还必须创建参数,并把创建的参数添加到命令的Parameters集合中。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    57720

    c# mysql executenonquery_C#与数据库访问技术之ExecuteNonQuery方法

    当命令文本在指定具体命令时,必须指出哪一部分是在运行时进行设置的,也就是必须指出哪部分是参数。 那些可变的部分即参数,它们都必须有一个@前缀。...Update student set sName=@userName where ID=@userid 这个命令中,@userName和@userid为参数,它们的值在运行时是可变的。...接着为paramUserName指定了Value属性,表示在运行时将用这个值代替命令中的@userName。 最后是调用Add方法将参数添加到命令的参数集合中,这一步很容易被初学者忽略,要格外注意。...如果存储过程返回值,或者有一些参数,还必须创建参数,并把创建的参数添加到命令的Parameters集合中。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    70120

    ADO.NET入门教程(七) 谈谈Command对象高级应用

    这个实例采用了《你必须知道的ADO.NET(六) 谈谈Comand对象与数据检索》中的数据库和数据表。在这个实例中,我们将在tb_SelCustomer中插入500行数据,并计算执行时间。...当然实现的方法有很多种,比如利用C#的out修饰符修饰参数,我更倾向于用SQL Server数据库原生的OUTPUT关键字。OUTPUT关键字返回INSERT操作的一个字段(一般是主键ID)。...因此我们只要结合OUTPUT关键字以及ExecuteScalar方法,就很容易得到插入行的主键。还是看一个简单的实例把!我们在tb_SelCustomer中插入一个新的顾客,并返回这个顾客的ID。...在执行命令过程中,面临的情况是十分复杂的。尽管如此,Command对象拥有优越的人力资源(属性和方法),来应对一切可能发生的事。可以说,Command对象的稳定发挥,为ADO.NET打下了扎实的根基。...因此,后面我将重点讲述ADO.NET的心脏----DataSet以及如何将数据源本地化。另外,我非常期待能得到您的推荐和关注。

    1.4K100

    在C#中用Var 和 Dynamic声明变量的区别

    C#中的很多关键词用法比较容易混淆,var和dynamic就是其中一组,但其实它们是有本质的区别的。 Var类型?...这个功能被添加到CLR中,以支持动态语言,比如Ruby和Python。 这意味着动态声明是在运行时解析的,而Var声明是在编译时解析的。...net就以及有了动态类型的优势,但是由于对于dynamic类型的所有操作,都是在运行时确定的,所有错误无法在编译时候出现,使用的时候,就需要非常小心。...主要区别附表: var dynamic 在c# 3.0中引入的 在c# 4.0中引入的 静态类型这意味着声明的变量类型由编译器在编译时决定。 动态类型这意味着变量的类型是由编译器在运行时决定的。...因为编译器在编译时就知道类型以及类型的方法和属性 当编译器在运行时发现类型、类型的方法和属性时,会在运行时捕获错误。 Visual Studio显示智能感知,因为分配给编译器的变量类型是已知的。

    1.9K10

    C# Web控件与数据感应之 ListControl 类

    Web控件与数据源之间的交互,诸如 System.Web.UI.WebControls 里的 DropDownList控件、ListBox控件,又如 System.Web.UI.HtmlControls 中的...用于数据感应的数据源有多种,本文将主要介绍与数据库提取数据并捆绑控件为例,讲解C#创建一些通用方法,如何捆绑数据源到 ListControl 类类型控件上。...、IDbDataParameter等,如何使用这些对象请参考我的文章: 《C#实现 IDbConnection / IDbCommand 等相关通用数据接口》 数据感应通用方法 设计 simpleDataList...其它字符串均视为 MS SQL Server 2 strConn string 对应数据库的连接字符串 3 sql string 要执行的SQL语句命令行 4 paras ArrayList 要赋值的参数对象,逐个添加到...,指捆绑成功后是否还需要添加一个空项,该空项会自动增加到第一个选项(如Value为空,Text 显示为 “未选择” ),且处于默认选择状态,否则会自动默认为数据源的第一个选项 9 allownullvalue

    8210
    领券