首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用c#从分隔文本文件中插入SQL Server表中的批量数据

使用C#从分隔文本文件中插入SQL Server表中的批量数据,可以通过以下步骤实现:

  1. 安装SQL Server数据库连接库:在C#项目中,需要安装SQL Server数据库连接库,例如Microsoft.Data.SqlClient。
  2. 读取文本文件:使用C#的File类读取文本文件,并将文件内容分割成数据行。
  3. 批量插入数据:将数据行批量插入到SQL Server表中,可以使用SqlBulkCopy类实现。

以下是一个示例代码:

代码语言:csharp
复制
using System;
using System.Data.SqlClient;
using System.IO;
using System.Data;
using Microsoft.Data.SqlClient;

class Program
{
    static void Main(string[] args)
    {
        // 连接字符串
        string connectionString = "Data Source=localhost;Initial Catalog=mydb;Integrated Security=True";

        // 表名
        string tableName = "mytable";

        // 文件路径
        string filePath = "data.txt";

        // 分隔符
        char delimiter = ',';

        // 批量插入数据
        BulkInsert(connectionString, tableName, filePath, delimiter);
    }

    static void BulkInsert(string connectionString, string tableName, string filePath, char delimiter)
    {
        // 创建数据表
        DataTable dataTable = new DataTable();
        dataTable.Columns.Add("Column1", typeof(string));
        dataTable.Columns.Add("Column2", typeof(string));
        dataTable.Columns.Add("Column3", typeof(string));

        // 读取文件
        using (StreamReader reader = new StreamReader(filePath))
        {
            string line;
            while ((line = reader.ReadLine()) != null)
            {
                string[] values = line.Split(delimiter);
                DataRow dataRow = dataTable.NewRow();
                dataRow["Column1"] = values[0];
                dataRow["Column2"] = values[1];
                dataRow["Column3"] = values[2];
                dataTable.Rows.Add(dataRow);
            }
        }

        // 批量插入数据
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();
            using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))
            {
                bulkCopy.DestinationTableName = tableName;
                bulkCopy.WriteToServer(dataTable);
            }
        }
    }
}

在上面的示例代码中,我们首先创建了一个DataTable对象,用于存储从文本文件中读取的数据。然后,我们使用StreamReader类读取文本文件,并将文件内容分割成数据行。接着,我们将数据行插入到DataTable对象中。最后,我们使用SqlBulkCopy类将DataTable对象中的数据批量插入到SQL Server表中。

注意:在实际使用中,需要根据实际情况修改代码中的连接字符串、表名、文件路径和分隔符等参数。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券