如何在C#应用程序中使用 SQL Server LocalDB 数据库

0. 前言

在这里插入图片描述

SQL Server LocalDB 是 Microsoft 提供的一种轻量级 SQL Server 实例,专为开发和测试场景设计。它易于安装和配置,非常适合在本地计算机上进行开发工作。本文将介绍如何在 C# 应用程序中使用 SQL Server LocalDB,包括安装、配置和连接的步骤。

1. 安装 SQL Server LocalDB

SQL Server LocalDB 通常作为 SQL Server Express 的一部分提供。可以通过以下几种方式来安装 LocalDB:

  • 通过 SQL Server Express 安装程序:选择安装过程中提供的 LocalDB 选项。
  • 从 Microsoft 下载页面下载:可以直接下载 LocalDB 的安装包并进行安装。
    在这里插入图片描述

2. 创建 LocalDB 实例

安装完成后,可以使用 SqlLocalDB.exe 工具来创建和管理 LocalDB 实例。打开命令提示符或 PowerShell,并使用以下命令来创建 LocalDB 实例:

SqlLocalDB.exe create "MyLocalDBInstance"

在这里插入图片描述
在目录下,可以查看创建的数据库实例文件夹
在这里插入图片描述

启动实例:

SqlLocalDB.exe start "MyLocalDBInstance"

在这里插入图片描述

3. 连接到 LocalDB 实例

在 C# 应用程序中,可以使用 System.Data.SqlClientMicrosoft.Data.SqlClient 库来连接 SQL Server LocalDB。首先,确保项目中已经添加了对应的 NuGet 包:

  • System.Data.SqlClient:对于 .NET Framework 项目
  • Microsoft.Data.SqlClient:对于 .NET Core 或 .NET 5/6+ 项目

使用以下命令在项目中安装:

dotnet add package Microsoft.Data.SqlClient

或者

<ItemGroup>
  <PackageReference Include="Microsoft.Data.SqlClient" Version="5.2.2" />
</ItemGroup>

4. 编写 C# 代码连接 LocalDB

下面的代码示例演示了如何在 C# 中连接到 LocalDB、创建数据库、执行查询和处理结果。

using System;
using Microsoft.Data.SqlClient; // 对于 .NET Core 或 .NET 5/6+

class Program
{
    static void Main()
    {
        // 连接字符串
        string connectionString = @"Server=(localdb)\MyLocalDBInstance;Integrated Security=true;";

        // 创建数据库和表的 SQL 语句
        string createDatabaseQuery = "CREATE DATABASE TestDB;";
        string createTableQuery = "CREATE TABLE TestDB.dbo.Person (Id INT PRIMARY KEY IDENTITY, Name NVARCHAR(50));";

        // 插入数据的 SQL 语句
        string insertDataQuery = "INSERT INTO TestDB.dbo.Person (Name) VALUES ('John Doe');";

        // 连接到 LocalDB 实例
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            try
            {
                // 打开连接
                connection.Open();

                // 执行创建数据库的命令
                using (SqlCommand command = new SqlCommand(createDatabaseQuery, connection))
                {
                    command.ExecuteNonQuery();
                    Console.WriteLine("Database created successfully.");
                }

                // 执行创建表的命令
                using (SqlCommand command = new SqlCommand(createTableQuery, connection))
                {
                    command.ExecuteNonQuery();
                    Console.WriteLine("Table created successfully.");
                }

                // 执行插入数据的命令
                using (SqlCommand command = new SqlCommand(insertDataQuery, connection))
                {
                    command.ExecuteNonQuery();
                    Console.WriteLine("Data inserted successfully.");
                }

                // 查询数据并显示结果
                string selectQuery = "SELECT * FROM TestDB.dbo.Person;";
                using (SqlCommand command = new SqlCommand(selectQuery, connection))
                {
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            Console.WriteLine($"ID: {reader["Id"]}, Name: {reader["Name"]}");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"An error occurred: {ex.Message}");
            }
        }
    }
}

执行结果
在这里插入图片描述
创建数据库
在这里插入图片描述

5. 使用SSMS链接

按照以下步骤操作,可以在 SQL Server Management Studio (SSMS) 中连接到 SQL Server LocalDB:

  1. 打开 SSMS:启动 SQL Server Management Studio。

  2. 连接到服务器

    • 在 “连接到服务器” 窗口中,设置 服务器类型 为 “数据库引擎”。
    • 服务器名称 输入 LocalDB 实例名称,通常格式为 (localdb)\MyLocalDBInstance。如果使用默认实例,输入 (localdb)\MSSQLLocalDB
    • 身份验证 选择 “Windows 身份验证”。
      在这里插入图片描述
  3. 点击 “连接”:然后,就可以管理 LocalDB 实例中的数据库了。
    在这里插入图片描述
    如果实例名称不确定,可以使用 SqlLocalDB.exe info 命令查看所有 LocalDB 实例。
    在这里插入图片描述

6. 总结

通过以上步骤,可以在 C# 应用程序中成功连接和操作 SQL Server LocalDB。LocalDB 为开发提供了一个轻量级的数据库环境,非常适合本地开发和测试。在实际生产环境中,可能会使用完整的 SQL Server 实例,但 LocalDB 是一个极好的开发工具,可以帮助更快速地进行开发和测试。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dotnet研习社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值