📜  c#中使用csv批量插入的连接字符串(1)

📅  最后修改于: 2023-12-03 14:39:48.401000             🧑  作者: Mango

在C#中使用CSV批量插入的连接字符串

在C#中,CSV(Comma Separated Values,逗号分隔值)是一个常用的文件格式,它通常用于存储和传输表格数据。在某些情况下,我们需要将CSV文件中的数据批量插入到数据库中。本文将介绍如何在C#中使用CSV批量插入的连接字符串。

CSV连接字符串的格式

CSV连接字符串的格式如下:

string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"Text;HDR=YES;FMT=Delimited\"";

其中,

  • Provider:提供程序。该值为Microsoft.Jet.OLEDB.4.0,表示使用OLE DB数据提供程序。
  • Data Source:数据源。该值为CSV文件的路径。
  • Extended Properties:扩展属性。该值为Text;HDR=YES;FMT=Delimited,表示CSV文件是文本文件,第一行包含列标题,使用逗号分隔。
使用CSV连接字符串批量插入数据

在使用CSV连接字符串批量插入数据之前,需要先创建一个OLE DB连接对象和一个OLE DB命令对象。然后,可以通过OLE DB连接对象的Open方法打开连接,再通过OLE DB命令对象的ExecuteNonQuery方法执行SQL语句实现批量插入数据。

以下是一个示例代码:

using System.Data.OleDb;

public void BulkInsertCsv(string csvFilePath, string tableName)
{
    // 创建连接对象
    string connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"Text;HDR=YES;FMT=Delimited\"", Path.GetDirectoryName(csvFilePath));
    OleDbConnection connection = new OleDbConnection(connectionString);
    
    // 打开连接
    connection.Open();
    
    // 创建命令对象
    OleDbCommand command = new OleDbCommand(string.Format("SELECT * INTO {0} FROM [{1}]", tableName, Path.GetFileName(csvFilePath)), connection);

    // 执行SQL语句插入数据
    command.ExecuteNonQuery();
    
    // 关闭连接
    connection.Close();
}

在以上示例代码中,通过调用BulkInsertCsv方法,可以将CSV文件中的数据批量插入到指定的表格中。其中,

  • csvFilePath:CSV文件的路径。
  • tableName:要插入数据的表格名称。
总结

通过使用CSV连接字符串,我们可以方便地将CSV文件中的数据批量插入到数据库中。在实际开发中,我们可以将这个功能封装成一个通用方法,以便重复使用。