在.NET Framework中的连接字符串ConnectionStrings属性

在.NET Framework中,ConfigurationManager.ConnectionStrings属性是用来访问在Visual Studio IDE应用程序配置文件中配置的数据库连接字符串 的。每个连接字符串在Visual Studio IDE配置文件中都以<add>元素的形式出现,该元素是<connectionStrings>元素的子元素。

例如,你可能有以下的配置文件:

<configuration>
<connectionStrings>
<add name="MyDbConnectionString"
connectionString="Data Source=(local);Initial Catalog=MyDb;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>

你可以使用ConfigurationManager.ConnectionStrings属性来访问这个连接字符串:

string connectionString = ConfigurationManager.ConnectionStrings["MyDbConnectionString"].ConnectionString;

注意,为了能够使用ConfigurationManager,你需要在项目中引用System.Configuration命名空间。

cs 复制代码
using System;
using System.Data.SqlClient;
using System.Configuration;
using System.Windows.Forms;

namespace WinFormsCustomer0725
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // 从配置文件中获取连接字符串
            string connectionString = ConfigurationManager.ConnectionStrings["WinFormsCustomer0725.Properties.Settings.tslConnectionString"].ConnectionString;

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                try
                {
                    connection.Open();
                    MessageBox.Show("Database connected successfully!");

                    // 在这里执行数据库查询或其他操作

                    connection.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error: " + ex.Message);
                }
            }
        }
    }
}

在这个例子中,我们在窗体加载时打开数据库连接。一旦连接成功,我们显示一个消息框来确认连接成功。如果发生任何错误,我们将显示一个包含错误消息的消息框。


另一方面,如果你的项目是.NET Core或.NET 5+,System.Configuration.ConfigurationManager已经被弃用,你需要安装Microsoft.Extensions.ConfigurationMicrosoft.Extensions.Configuration.Binder NuGet包,并使用新的配置系统。这需要对代码进行一些修改。例如:

var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json");
var configuration = builder.Build();
string connectionString = configuration.GetConnectionString("MyDbConnectionString");

在这个.NET Core示例中,连接字符串是从一个名为appsettings.json的文件中获取的,而不是从.config文件中获取的。

相关推荐
计算机魔术师13 分钟前
国产多模态模型正面硬刚Opus旗舰:差距从30%缩到3%
前端
风骏时光牛马21 分钟前
程序员进阶:深度思考,解锁职场成长的底层逻辑
前端
IT_陈寒29 分钟前
用了Proxy才发现以前的JavaScript白写了
前端·人工智能·后端
爱丶不疚1 小时前
Eval: Agent 说的 Eval 是什么?从单测、TDD 到 Sentry 聊起
前端·ai编程·vibecoding
求道於盲1 小时前
python中的类型标注
前端
计算机魔术师1 小时前
从硅谷测试到全球铺开,ChatGPT广告的10亿美元秘密
前端
这个DBA有点耶1 小时前
2026年分布式数据库有哪些主流选择?先评估这5个维度再决定
数据库·分布式·dba
专业抄代码选手2 小时前
08|Fiber 上的 `useState`:状态终于属于具体组件
前端·javascript·react.js
默_笙2 小时前
😭 Vibe Coding 翻车实录:AI 编程为什么必须先写"剧本"
前端·javascript
LEE2 小时前
原来 Claude Code 最厉害的工具,一行代码都不写
前端·后端