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

相关推荐
IT_陈寒16 分钟前
SpringBoot自动配置的坑,我爬了三天才出来
前端·人工智能·后端
Avan_菜菜7 小时前
AI 能写代码了,为什么我反而开始要求它先写文档?
前端·github·ai编程
冬奇Lab11 小时前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
爱勇宝11 小时前
鸿蒙生态的下半场:开发者不只要能开发,还要能赚钱
android·前端·程序员
IT_陈寒14 小时前
SpringBoot这个自动配置坑我跳了三次
前端·人工智能·后端
kyriewen14 小时前
我用 AI 一周写完了整个项目,上线第一天就崩了——这是我踩过最贵的 5 个坑
前端·javascript·ai编程
牧艺15 小时前
从零到协同:构建类飞书在线文档系统的五个技术重难点
前端·人工智能
红尘散仙16 小时前
想写一个像样的终端 App?试试把 React 的开发体验搬进 Rust TUI
前端·rust
袋鼠云数栈UED团队16 小时前
一套 Spec-First 的 AI 编程工作流
前端·人工智能
袋鼠云数栈前端16 小时前
一套 Spec-First 的 AI 编程工作流
前端·ai+