温馨提示×

c# sqlhelper如何进行批量操作

c#
小樊
85
2024-11-20 22:23:04
栏目: 云计算

在C#中,使用SqlHelper类进行批量操作可以提高性能并减少数据库交互次数。以下是一个简单的示例,展示了如何使用SqlHelper类执行批量插入操作:

首先,确保已经安装了SqlHelper库。如果没有安装,可以使用NuGet包管理器安装:

Install-Package SqlHelper

接下来,创建一个SqlHelper类,用于封装数据库操作:

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

public class SqlHelper
{
    private string _connectionString;

    public SqlHelper(string connectionString)
    {
        _connectionString = connectionString;
    }

    public int ExecuteNonQuery(string sql, SqlParameter[] parameters = null)
    {
        using (SqlConnection connection = new SqlConnection(_connectionString))
        {
            connection.Open();
            using (SqlCommand command = new SqlCommand(sql, connection))
            {
                if (parameters != null)
                {
                    command.Parameters.AddRange(parameters);
                }
                return command.ExecuteNonQuery();
            }
        }
    }
}

现在,我们可以使用SqlHelper类执行批量插入操作。以下是一个示例:

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Text;

public class Program
{
    public static void Main()
    {
        string connectionString = "your_connection_string_here";
        SqlHelper sqlHelper = new SqlHelper(connectionString);

        List<Employee> employees = new List<Employee>
        {
            new Employee { Name = "John Doe", Age = 30 },
            new Employee { Name = "Jane Smith", Age = 28 },
            new Employee { Name = "Mike Johnson", Age = 35 }
        };

        string sql = "INSERT INTO Employees (Name, Age) VALUES (@Name, @Age)";
        SqlParameter[] parameters = employees.Select(e => new SqlParameter("@Name", e.Name)).Concat(employees.Select(e => new SqlParameter("@Age", e.Age))).ToArray();

        int result = sqlHelper.ExecuteNonQuery(sql, parameters);
        Console.WriteLine($"Inserted {result} rows.");
    }
}

public class Employee
{
    public string Name { get; set; }
    public int Age { get; set; }
}

在这个示例中,我们首先创建了一个SqlHelper实例,然后创建了一个包含员工信息的列表。接着,我们构建了一个批量插入操作的SQL语句,并使用SqlParameter数组存储参数。最后,我们调用ExecuteNonQuery方法执行批量插入操作,并输出插入的行数。

请注意,这个示例仅展示了批量插入操作。你可以根据需要修改SQL语句和参数类型,以执行其他类型的批量操作,如批量更新、批量删除等。

0