C# 怎么连接并操作 SQL Server 数据库_C# SQL Server 数据库连接与操作教程

来源:这里教程网 时间:2026-02-21 17:31:20 作者:

在 C# 中连接和操作 SQL Server 数据库是开发中常见的需求。通过 .NET 提供的 System.Data.SqlClient 类库(或更新的 Microsoft.Data.SqlClient),你可以轻松实现数据库的增删改查操作。下面是一个简单明了的教程,带你一步步完成连接与基本操作。

1. 引入必要的命名空间

要在 C# 项目中操作 SQL Server,首先需要引入以下命名空间:

using System.Data;
using System.Data.SqlClient; // 或使用 Microsoft.Data.SqlClient

注意:.NET Core/.NET 5+ 推荐使用 Microsoft.Data.SqlClient,它支持更广泛的平台和功能。可通过 NuGet 安装:

Install-Package Microsoft.Data.SqlClient

2. 编写连接字符串

连接字符串包含连接到数据库所需的信息,如服务器地址、数据库名、身份验证方式等。常见格式如下:

string connectionString = "Server=localhost;Database=TestDB;User Id=sa;Password=your_password;";

若使用 Windows 身份验证:

string connectionString = "Server=localhost;Database=TestDB;Integrated Security=true;";

建议将连接字符串保存在 appsettings.json 或配置文件中,避免硬编码。

3. 建立数据库连接并执行查询

使用 SqlConnection 建立连接,配合 SqlCommand 执行 SQL 语句。示例:查询数据

using (var connection = new SqlConnection(connectionString))
{
   connection.Open();
   string sql = "SELECT Id, Name FROM Users";
   using (var command = new SqlCommand(sql, connection))
   {
      using (var reader = command.ExecuteReader())
      {
         while (reader.Read())
         {
            Console.WriteLine($"ID: {reader["Id"]}, Name: {reader["Name"]}");
         }
      }
   }
}

4. 执行插入、更新、删除操作

使用 ExecuteNonQuery() 方法执行不返回结果集的操作。推荐使用参数化查询防止 SQL 注入。

using (var connection = new SqlConnection(connectionString))
{
   connection.Open();
   string sql = "INSERT INTO Users (Name, Email) VALUES (@name, @email)";
   using (var command = new SqlCommand(sql, connection))
   {
      command.Parameters.AddWithValue("@name", "张三");
      command.Parameters.AddWithValue("@email", "zhangsan@example.com");
      int rowsAffected = command.ExecuteNonQuery();
      Console.WriteLine($"{rowsAffected} 行已插入。");
   }
}

5. 处理异常与资源释放

数据库操作可能出错,比如连接失败、SQL 错误等。应使用 try-catch 捕获异常,并确保连接正确关闭。

try
{
   using (var connection = new SqlConnection(connectionString))
   {
      connection.Open();
      // 执行操作...
   }
}
catch (SqlException ex)
{
   Console.WriteLine("数据库错误: " + ex.Message);
}
catch (Exception ex)
{
   Console.WriteLine("其他错误: " + ex.Message);
}

使用 using 语句可自动释放连接、命令等资源,避免内存泄漏。

6. 简化操作:使用 Dapper(可选)

如果觉得原生 ADO.NET 写起来繁琐,可以引入 Dapper 这个轻量级 ORM 库,简化数据访问。

Install-Package Dapper

示例:

using (var connection = new SqlConnection(connectionString))
{
   var users = connection.Query("SELECT * FROM Users");
   foreach (var user in users)
   {
      Console.WriteLine(user.Name);
   }
}

基本上就这些。掌握连接字符串、SqlConnection、SqlCommand 和参数化查询,就能在 C# 中高效安全地操作 SQL Server 数据库。实际开发中建议封装数据库访问逻辑,提升代码复用性和可维护性。

相关推荐

热文推荐