在.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.Configuration和Microsoft.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文件中获取的。

相关推荐
神仙别闹2 小时前
基于C++实现的(控制台)学校开课查询系统
开发语言·c++
这个DBA有点耶2 小时前
MySQL字符集与排序规则深入:索引失效的隐蔽场景与排查方法
数据库·mysql·代码规范
zl_dfq2 小时前
Redis 之 【持久化 与 事务】
数据库·redis
zach2 小时前
前端落地实战:Next.js 项目 Nginx + PM2 生产部署全流程(附踩坑总结)
前端·pm2·next.js
overmind3 小时前
oeasy教h5前端001 修改的乐趣_直接修改在线网页
前端
只睡四小时3 小时前
JS 手写 D-pad 空间导航:电视端焦点引擎实战
android·开发语言·前端·javascript·ecmascript·hls·空间导航
2601_962218613 小时前
C++的几种编译器的实现
开发语言·c++
恋猫de小郭3 小时前
Android 原生的 Compose A2UI 也来了,你还抱着 XML 养老吗?
android·前端·flutter
庄园特聘拆椅狂魔3 小时前
从连连看到粒子消散——前端小游戏与视觉特效的技术选型
前端
多弗朗皮卡丘3 小时前
C++ stack和queue
开发语言·c++·deque·queue·stack·容器适配器