WPF应用程序中如何配置并读取App.Config中的数据库连接字符串?
解决WPF从App.Config读取数据库连接字符串的问题
嘿,作为WPF新手碰到这种配置读取问题太正常啦!我来帮你一步步搞定从App.Config里读数据库连接字符串的事儿~
首先先帮你补全并规范一下你的App.Config文件(你提供的内容里连接字符串截断了,我先补全常见的Windows身份验证格式,还修正了你写的Data Source=\.;的小错误——本地数据源只需要写.就行):
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> </startup> <connectionStrings> <!-- 补全连接字符串并添加providerName,方便识别数据库类型 --> <add name="DBCS" connectionString="Data Source=.;Initial Catalog=Connect;Integrated Security=True;" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration>
接下来是关键的读取步骤,分两步走:
1. 添加必要的引用
很多新手容易漏掉这一步:右键你的WPF项目 → 选择「添加」→「引用」→ 在弹出的窗口里找到System.Configuration并勾选,点击确定。
2. 编写读取代码
在你需要使用连接字符串的地方(比如ViewModel或者窗口的后台代码里),加入以下代码:
using System.Configuration; using System.Windows; // 读取连接字符串 var dbConnectionSettings = ConfigurationManager.ConnectionStrings["DBCS"]; if (dbConnectionSettings != null) { string connectionString = dbConnectionSettings.ConnectionString; // 拿到连接字符串后,就可以用来初始化数据库连接啦 // 比如 SqlConnection conn = new SqlConnection(connectionString); } else { // 处理找不到指定名称连接字符串的情况,比如给用户弹个提示 MessageBox.Show("未找到数据库连接配置!"); }
常见坑点提醒
- 确保App.Config的文件名必须是App.Config,编译后项目会自动生成
[你的项目名].exe.config,不要手动修改这个文件名 - 配置里的
name="DBCS"要和代码里的["DBCS"]完全一致(虽然.NET Framework的索引器不严格区分大小写,但保持一致能避免不必要的问题) - 连接字符串本身要保证语法正确,比如引号配对、参数拼写正确
内容的提问来源于stack exchange,提问作者Unbreakable




