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

相关推荐
hashiqimiya3 分钟前
两个步骤,打包war,tomcat使用war包
java·服务器·前端
胡萝卜3.016 分钟前
深入C++可调用对象:从function包装到bind参数适配的技术实现
开发语言·c++·人工智能·机器学习·bind·function·包装器
小a杰.18 分钟前
Flutter 设计系统构建指南
开发语言·javascript·ecmascript
BD_Marathon23 分钟前
【JavaWeb】Servlet_url-pattern的一些特殊写法问题
java·开发语言·servlet
黄俊懿26 分钟前
【深入理解SpringCloud微服务】Seata(AT模式)源码解析——开启全局事务
java·数据库·spring·spring cloud·微服务·架构·架构师
零度@35 分钟前
Java中Map的多种用法
java·前端·python
中文很快乐36 分钟前
java开发--开发工具全面介绍--新手养成记
java·开发语言·java开发·开发工具介绍·idea开发工具
IMPYLH39 分钟前
Lua 的 Coroutine(协程)模块
开发语言·笔记·后端·中间件·游戏引擎·lua
看见繁华39 分钟前
C++ 高级
开发语言·c++
点云SLAM1 小时前
constexpr 和 explicit 在 C++ 中被提出的动机
开发语言·c++·explicit关键字·隐式转换·constexpr关键字·c++11/17/20