如何在 C# 中更新 app.config 连接字符串数据源值?

2023-12-01

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.ConnectionStrings.ConnectionStrings["MyConnectionString",String.Format("DataSource={0};")].ConnectionString=textBox1.Text;
config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("connectionStrings");

我在第二行遇到了麻烦。我似乎无法得到正确的语法。如您所见,我只想更新数据源值。例如,如果当前值为数据源=PC001\SQL2008EXPRESS,我希望它更新为客户端在 textBox1 中输入的内容。

编辑:示例连接字符串

<add name="ERPDatabaseTables" connectionString="metadata=res://*/ERPTables.csdl|res://*/ERPTables.ssdl|res://*/ERPTables.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=PC001\SQL2008EXPRESS;Initial Catalog=MyDatabase.mdf;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient"/>

所以想更新数据源=PC001\SQL2008EXPRESS仅部分


你真正想要的是:

Configuration config = 
    ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

// Because it's an EF connection string it's not a normal connection string
// so we pull it into the EntityConnectionStringBuilder instead
EntityConnectionStringBuilder efb = 
    new EntityConnectionStringBuilder(
        config.ConnectionStrings.ConnectionStrings["ERPDatabaseTables"]
            .ConnectionString);

// Then we extract the actual underlying provider connection string
SqlConnectionStringBuilder sqb = 
    new SqlConnectionStringBuilder(efb.ProviderConnectionString);

// Now we can set the datasource
sqb.DataSource = textBox1.Text;

// Pop it back into the EntityConnectionStringBuilder 
efb.ProviderConnectionString = sqb.ConnectionString;

// And update...
config.ConnectionStrings.ConnectionStrings["ERPDatabaseTables"]
    .ConnectionString = efb.ConnectionString;

config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("connectionStrings");

这假设:

  1. 您的 EF 连接字符串存在于应用程序的配置文件中

  2. 你有一个参考System.Data.Entity

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 C# 中更新 app.config 连接字符串数据源值? 的相关文章

  • 如何从 WPF 窗口显示 Winforms 对话框?

    这个问题的反面已经被回答过很多次了 public static void SetOwner object activeWindow object dialog if IsWindow dialog IsWindow activeWindow
  • 父窗体中的居中消息框[重复]

    这个问题在这里已经有答案了 有没有一种简单的方法可以在 net 2 0中将MessageBox居中于父窗体中 我在 C 中确实需要这个并发现中心消息框 C http bytes com topic c sharp answers 26712
  • 如何防止弹出表单夺走父级的焦点

    我有一个小的 windows form 当鼠标悬停在 windows Form 上的某个区域上时 我用它来显示信息 但是当它设置为可见时 它会从父窗口获取焦点 有没有办法防止这种情况 它会导致主窗体在焦点和焦点之间切换时闪烁 时间 2019
  • 标签中的路径显示

    NET 中有没有自动修剪路径字符串的方法 例如 C Documents and Settings nick My Documents Tests demo data demo data emx becomes C Documents dem
  • 在 C# Winforms 应用程序中嵌入 Windows XP 主题

    我有一个旧版 C Windows 窗体应用程序 其布局是根据 Windows XP 默认主题设计的 由于需要将其作为 Citrix 应用程序进行分发 该应用程序现在看起来像经典主题应用程序 因为 Citrix 不鼓励使用主题系统服务 所以
  • 如何防止控件在 TableLayoutPanel 内调整大小时视觉上滞后?

    我有一个基于多个嵌套的中等复杂度的布局TableLayoutPanels 调整窗体大小会导致更深嵌套表内的控件在视觉上滞后于调整大小 首先 这使得它们看起来像是在调整表单大小时四处移动 但更糟糕的是 当它们滞后到足以离开分配的表格单元格时
  • C# WinForms:使用一个或多个附加线程进行绘图。如何?

    如果我有一张包含各种几何形式 直线 矩形 圆形等 的大图 线程需要花费大量时间来绘制所有内容 但在现实生活中 一栋建筑是由不止一名工人建造的 因此 如果绘图是建筑物而线程是构建者 则绘制速度会快得多 但我想知道怎么做 你能告诉我怎么做吗 有
  • 以编程方式更改 DataGridView 行上的只读模式

    在不解释整个上下文的情况下 我的问题基本上是这样的 我在 Windows 窗体上有一个 datagridview 它绑定到实体框架 DbSet dbSet
  • DataGridView 列中的数字文本框

    我有一个DataGridView 我想要它的第一列或任何所需的列 其中有textboxes在其中 成为NUMERIC ONLY 我目前正在使用这段代码 private void dataGridViewItems EditingContro
  • C# Winforms Designer 无法打开,因为它无法在同一程序集中找到类型

    我收到以下错误 找不到类型 My Special UserControl 请确保引用包含此类型的程序集 如果此类型是您的开发项目的一部分 请确保已使用当前平台或任何 CPU 的设置成功构建该项目 但没有任何意义的是My Special Us
  • WinForms - 加载表单时如何使用 PaintEventArgs 运行函数?

    我试图理解图形 在 Graphics FromImage 文档中 它有这样的示例 private void FromImageImage PaintEventArgs e Create image Image imageFile Image
  • 在 C# 中选择动态创建的列表框项目

    我动态创建了一个Listbox并用一些项目填充它 在输入一个点后Textbox我想展示Listbox以便用户可以使用箭头键选择任何项目 到目前为止我已经做了所有事情 当用户在其中输入一个点时Textbox The Listbox显示 但方向
  • 即使 keypreview = true,按钮也会阻止 KeyDown 事件触发

    在 VS Express 12 中重现的步骤 创建一个新的 Windows 窗体应用程序项目 添加按钮 将 Form KeyPreview 设置为 true 向表单添加 keyDown 事件 只要按钮存在于表单上 事件就不会触发 我有一个项
  • 组合框项目为空但数据源已满

    将列表绑定到组合框后 其 dataSource Count 为 5 但组合框项目计数为 0 怎么会这样 我习惯了 Web 编程 而且这是在 Windows 窗体中进行的 所以不行combo DataBind 方法存在 这里的问题是 我试图以
  • 实体框架代码首先保存后不延迟加载

    我的数据库中有一个查找表和一个数据表 我将使用性别和人物作为例子 假设性别表如下所示 Id Code 1 Male 2 Female 人员表如下所示 Id Name GenderId 1 Bob 1 2 Jane 2 我首先在 EF 代码中
  • 限制C#中的并行线程数

    我正在编写一个 C 程序来生成并通过 FTP 上传 50 万个文件 我想并行处理4个文件 因为机器有4个核心 文件生成需要更长的时间 是否可以将以下 Powershell 示例转换为 C 或者是否有更好的框架 例如 C 中的 Actor 框
  • 如何在 C# 中将 ListView 与目录和文件绑定

    我想在 C 的 ListView 中绑定 C 驱动器中的所有目录和文件 我的代码是 protected void Page Load object sender EventArgs e DirectoryInfo di new Direct
  • 匹配所有有效格式 IPv6 地址的正则表达式

    乍一看 我承认这个问题看起来像是这个问题以及与之相关的任何其他问题的重复 匹配有效 IPv6 地址的正则表达式 https stackoverflow com questions 53497 regular expression that
  • LINQ to Entities 区分大小写的比较

    这不是 LINQ to Entities 中区分大小写的比较 Thingies First t gt t Name ThingamaBob 如何使用 LINQ to Entities 实现区分大小写的比较 那是因为你正在使用LINQ 实体最
  • 使用 NAudio c# 将 wma 音频流转换为 mp3 流

    我的任务是使用 NAudio 和 Lame 将 wma 音频流转换为 mp3 流 下面的代码可以很好地处理文件名 但我希望它可以使用内存流来完成 我在 NAudio 中搜索没有读取 wma 音频流的方法 NAudio 可以吗 public

随机推荐

  • Selenium+firefox:空的execute_script参数

    我正在尝试设置textarea使用 javascript 代替 send keys 方法来获取值 正如文档所述 我应该能够将 webelement 作为参数传递给execute script 并通过引用此参数arguments大批 但是 我
  • 谷歌可视化-条形图上的点击事件 isStacked: true

    我正在尝试显示条形图的总价值 其中 isStacked true 在 span 当我单击一个栏时位于图表顶部 我探索 google visualization events addListener 功能的参考开始here 当我单击 a 栏时
  • 连接本地MySQL数据库的Python 3.2脚本

    我正在运行 Ubuntu 服务器 我希望它有一个 Python v3 2 CGI 脚本 可以连接到我设置的本地 MySQL 数据库并运行查询 目前 我发现的唯一的东西不支持Python 3 2 请不要建议切换到早期版本的 Python 因为
  • 如何使用 python 将 .blf 数据从 CAN 转换为 .csv

    我有来自 Vector 软件的 blf 格式的 CAN 数据 为了进一步调查 我想使用 python 将其转换为 csv 格式 到目前为止我的进展 import can filename test blf log can BLFReader
  • 从 UIImagePickerController 中选取图像后崩溃(与内存泄漏有关?)

    我一直在尝试最小化我的内存占用UIImagePickerController 但我开始认为我遇到的内存问题是由于内存管理不善造成的 而不是处理内存问题的特定方法UIImagePickerController object 我的工作流程是这样
  • 如何枚举给定 Windows 进程上的套接字?

    我需要我的程序来检查给定的 Windows 进程是否正在滥用网络 我想枚举进程 tcp 和 udp 套接字 并查看它们在给定时间段内传输了多少数据 是否有 C 或 Net API 可以提供此类信息 在 Win2k 上 您可以使用 GetTc
  • android.support.v7.widget.AppCompatButton 无法转换为 android.view.ViewGroup

    我正在通过 onclick 按钮替换我的片段 但出现此错误 请帮助 这是我的详细活动片段 public class DetailActivityFragment extends Fragment TextView textView Imag
  • 无法@Override Java中的compareTo()方法

    我正在写一个BankAccount类将一堆银行帐户放入数组列表中 并根据帐号对它们进行排序 我写了compareTo 方法如下 public int compareTo BankAccount another if Integer pars
  • PHPMailer SMTP 配置

    在过去的两个小时里 我一直在网上查看是否有其他人遇到过这个问题 似乎很多人都遇到过 但没有一个答案对我有用 SMTP gt FROM SERVER 220 mx google com ESMTP vq7sm928004oeb 13 SMTP
  • Rust 中的 unwrap 是什么,它有什么用?

    我有这个代码使用 unwrap fn main let paths std fs read dir home user unwrap for path in paths println Name path unwrap path displ
  • Caffe sigmoid交叉熵损失

    我正在使用 sigmoid 交叉熵损失函数来解决多标签分类问题 如下所示本教程 然而 在他们的教程结果和我的结果中 输出预测都在范围内 Inf Inf 而 sigmoid 的范围是 0 1 sigmoid 仅在反向传播中处理吗 也就是说 前
  • 按预定义的值映射对对象数组进行排序[重复]

    这个问题在这里已经有答案了 我有以下数组 inputArray Array 0 gt stdClass Object id gt 8 1 gt stdClass Object id gt 7 2 gt stdClass Object id
  • admob 6.2.1 空指针异常

    我有一个大问题 我想将 admob 集成到我的 android 应用程序中 但是当我尝试将 admob 集成到 xml 文件中时 我在图形布局中遇到空指针异常 java lang NullPointerException at com go
  • Eclipse 插件 - 处理单步或中断时的事件

    是否有从 Eclipse 调试器接收事件通知的通用方法 具体来说 我只想知道用户何时跨过 进入以及何时命中断点 我已经在 J DT 中完成了这个工作 请参阅我的其他问题 Eclipse 调试器事件 但同样的技术在 CDT 中不起作用 我正在
  • 我无法从 RichTextValue 获取文本

    我无法从中获取文本值RichTextValue这是来自日期单元格的 目标表如下所示 date string string 我想从第一个单元格获取文本值 所以我写了这段代码 const dataRange sheet getDataRange
  • 同类指针的区别

    同一类型的两个指针的差值始终为一 include
  • grails 1.3.9 应用程序中的 EHCache 默认值

    grails 1 3 9 应用程序中 ehcache 的默认值是什么 我特别对查询缓存值感兴趣 我通过 postgres 的 psql 删除了几行 但我没有看到我的应用程序中反映的更改 我还没有将 ehcache xml 文件添加到conf
  • 列出 WordPress 标签时删除最后一个逗号

    我有以下脚本来列出没有链接的帖子标签 但它在所有标签 包括最后一个标签 后面放置了一个逗号 有什么方法可以防止脚本向列表中的最后一个标签添加逗号 我尝试研究它 但确实没有太多关于这个特定的 wp 字符串的信息 使用 rtrim 它将修剪最后
  • CoordinatorLayout 状态栏填充在片段事务期间消失

    使用 22 2 1 设计支持库和 API 22 尚未在早期版本上进行测试 我在片段之间切换时遇到了状态栏填充问题 初始片段加载良好 但在片段事务之后 状态栏填充消失 将所有视图推到不应该出现的位置 弹出返回堆栈后 原始片段也会发生同样的情况
  • 如何在 C# 中更新 app.config 连接字符串数据源值?

    Configuration config ConfigurationManager OpenExeConfiguration ConfigurationUserLevel None config ConnectionStrings Conn