C# VB Web システム開発の部屋

システム開発で役に立つコードを厳選したブログです。

【C#】複数のCSV(またはテキスト)ファイルを読み込みデータベースへ登録する

C#CSV(またはテキスト)ファイルを読み込みデータテーブルに格納する

 

using System.Data;

using System.Data.Odbc;

using System.Data.SqlClient; 

using System.IO;

--------------------------------------------

  

// CSV(またはテキスト(*.txt))ファイルをすべて取得
string[] files = Directory.GetFiles(@"C: \ 'フォルダのパス' ", "*.csv", SearchOption.AllDirectories);

 

foreach (string FilePath in files )
{
// ファイルのパス
string FileName = Path.GetFileName(FilePath);
string DirPath = Path.GetDirectoryName(FilePath);

//接続文字列
string conString = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" + DirPath + ";Extensions=asc,csv,tab,txt;";
OdbcConnection con = new OdbcConnection(conString);

string commText = "SELECT * FROM [" + FileName + "]";
OdbcDataAdapter da = new OdbcDataAdapter(commText, con);

 

// データテーブルに格納する

DataTable dt = new DataTable();
da.Fill(dt);

 

//接続文字列

SqlConnection cn = new SqlConnection();
SqlCommand cmd = new SqlCommand();
SqlDataReader rd;

cn.ConnectionString = @"Data Source = 'サーバ名' ;" +
"Initial Catalog = 'データベース名' ;" +
"Integrated Security = True";

cn.Open();
cmd.Connection = cn;
cmd.CommandType = CommandType.Text;

 

DataTable dt = new DataTable();

int i = 0;
foreach (DataRow thisTable in dt.Rows)
{
cmd.CommandText = "INSERT INTO [テーブル名] " +
                                   "VALUES('" + dt.Rows[i]["項目名1"] + "'," +
                           "'" + dt.Rows[i]["項目名2"] + "'," +
                                "'" + dt.Rows[i]["項目名3"] + "')";
rd = cmd.ExecuteReader();
rd.Close();

i++;
}
cn.Close();

}

 

C# Visual Studio SQL server