.NET Core DataAdapter查SqlServer

引言

在开发.NET Core应用程序时,我们经常需要与数据库进行交互。为了方便和高效地访问数据库,ADO.NET提供了一个重要的组件——DataAdapter。DataAdapter作为一个桥梁,连接了数据源和数据集,提供了在应用程序和数据库之间传递数据的功能。

本文将介绍如何使用.NET Core DataAdapter来访问和操作SqlServer数据库。我们将讨论DataAdapter的基本概念、使用方法和示例代码,并通过序列图和饼状图来说明DataAdapter的工作原理和应用场景。

DataAdapter基本概念

DataAdapter是ADO.NET的核心组件之一,它被用于填充和更新数据集。DataAdapter提供了一系列方法和属性,用于执行数据库操作,如查询、插入、更新和删除。DataAdapter可以与CommandBuilder一起使用,自动生成插入、更新和删除的SQL语句。

DataAdapter的主要功能包括:

  • 填充数据集:通过执行查询语句,将数据库中的数据填充到DataSet或DataTable中。
  • 更新数据源:将对数据集所做的更改反映到数据库中。
  • 执行命令:执行针对数据库的查询、插入、更新和删除操作。

DataAdapter通常与数据库连接(Connection)、命令(Command)和数据集(DataSet)一起使用。它充当了连接数据库和操作数据的桥梁,提供了一种高效、灵活和可扩展的方式来访问和操作数据库。

使用DataAdapter查SqlServer数据库

首先,我们需要安装必要的NuGet包,以便在.NET Core应用程序中使用DataAdapter。打开Visual Studio的NuGet包管理器控制台,执行以下命令安装相关包:

Install-Package System.Data.SqlClient

安装完成后,我们可以在代码中引入System.Data.SqlClient命名空间,开始使用DataAdapter来访问SqlServer数据库。

1. 填充数据集

使用DataAdapter填充数据集是一种常见的操作,它通常用于从数据库中检索数据并将其存储在内存中,以便在应用程序中进行操作。

以下是使用DataAdapter填充数据集的示例代码:

using System;
using System.Data;
using System.Data.SqlClient;

namespace DataAdapterDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            string connectionString = "server=127.0.0.1;database=TestDB;uid=sa;pwd=123456";
            string query = "SELECT * FROM Customers";

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();

                SqlDataAdapter adapter = new SqlDataAdapter(query, connection);
                DataSet dataSet = new DataSet();
                adapter.Fill(dataSet, "Customers");

                DataTable customersTable = dataSet.Tables["Customers"];

                foreach (DataRow row in customersTable.Rows)
                {
                    Console.WriteLine(row["CustomerName"]);
                }
            }
        }
    }
}

在上述代码中,我们首先创建了一个SqlConnection对象,用于连接到数据库。然后,创建了一个SqlDataAdapter对象,并通过构造函数传入查询语句和连接对象。接下来,创建了一个DataSet对象,用于存储从数据库中检索到的数据。最后,调用Fill方法将数据填充到DataSet中,并通过表名获取到对应的DataTable,通过遍历DataTable的行来访问数据。

2. 更新数据源

DataAdapter不仅可以填充数据集,还可以将对数据集的更改反映到数据库中,实现数据的更新操作。

以下是使用DataAdapter更新数据源的示例代码:

using System;
using System.Data;
using System.Data.SqlClient;

namespace DataAdapterDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            string connectionString = "server=127.0.0.1;database=TestDB;uid=sa;pwd=123456";
            string query = "SELECT * FROM Customers";

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();

                SqlDataAdapter adapter = new SqlDataAdapter(query, connection);
                DataSet dataSet = new DataSet();
                adapter.Fill(dataSet, "Customers");

                DataTable customersTable = dataSet.Tables["Customers"];

                // 修改数据
                DataRow firstRow = customersTable.Rows[0];
                firstRow["CustomerName"] = "New Customer Name";

                // 更新数据源
                SqlCommandBuilder commandBuilder = new SqlCommandBuilder(adapter);
                adapter.Update(dataSet, "Customers");