首页
学习
活动
专区
工具
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文件的方法来读写。这当然是可以的!

8K90
  • 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.4K90

    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”

    25810

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

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

    64920

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

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

    2.9K30

    初识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集合。...如发现本站涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站立刻删除。

    57220

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

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

    67020

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

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

    1.8K10

    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# 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

    7310

    .Net如何统计在线人数

    ,统计出来的在线用户数量可能稍微有点误差因为我们以上程序,是根据用户建立和退出会话(Session)来实现在线人数的加减的,而我们知道,如果用户没有关闭浏览器,而进入另外一个网站,那么,这个会话一定的时间内是不会结束的...,这个时间我们可以通过TimeOut来设置,一般的,我们设置为20分钟所以,在用户数量统计上面,还是存在一点误差的  另外,我们知道,ASP,如果用户浏览器上面的Cookies设置为禁用,那么,...Session就不能再被传递,显然,这样设置让以上的统计程序无能为力不过,ASP.NET我们有解决方法,config.web文件,我们<sessionstate cookieless= "false...注意事项 8、           我VS2005调试进行时,显示:总访问人数为1001;当前在线数1当;           我重新打开另外一个IE,并把地址Copy过去,这时显示:总访问人数为...如果在I I S 调试也一样,要正常关机或停掉WWW服务才数据一性写进数据库。

    1.4K30
    领券