Перебор всех файлов из папки и их запись в таблицу - C#

Узнай цену своей работы

Формулировка задачи:

using System;
using System.Data;
using Microsoft.VisualBasic.FileIO;
using ReadCSVFile;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.IO;
 
namespace ReadCSVFile
{
    static class Program
    {
        static void Main()
        {
 
            List<string> filesname = Directory.GetFiles(@"C:\Users\kabudasay\Desktop\cisco\").ToList<string>();
 
            string fileDir = (filesname[0]);
            string csv_file_path = fileDir;
            DataTable csvData = GetDataTabletFromCSVFile(csv_file_path);
            Console.WriteLine("Rows count:" + csvData.Rows.Count);
            Console.ReadLine();
        }
        private static DataTable GetDataTabletFromCSVFile(string csv_file_path)
        {
            DataTable csvData = new DataTable();
            try
            {
                using (TextFieldParser csvReader = new TextFieldParser(csv_file_path))
                {
                    csvReader.SetDelimiters(new string[] { "," });
                    csvReader.HasFieldsEnclosedInQuotes = true;
                    string[] colFields = csvReader.ReadFields();
                    foreach (string column in colFields)
                    {
                        DataColumn datecolumn = new DataColumn(column);
                        datecolumn.AllowDBNull = true;
                        csvData.Columns.Add(datecolumn);
                    }
                    while (!csvReader.EndOfData)
                    {
                        string[] fieldData = csvReader.ReadFields();
                        //Making empty value as null
                        for (int i = 0; i < fieldData.Length; i++)
                        {
                            if (fieldData[i] == "")
                            {
                                fieldData[i] = null;
                            }
                        }
                        csvData.Rows.Add(fieldData);
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return csvData;
        }

  // Copy the DataTable to SQL Server using SqlBulkCopy
function static void InsertDataIntoSQLServerUsingSQLBulkCopy(DataTable csvFileData)
{
   using(SqlConnection dbConnection = new SqlConnection("Data Source=MySqlServer; Initial Catalog=MyTable; Integrated Security=SSPI;"))
        {
          dbConnection.Open();
          using (SqlBulkCopy s = new SqlBulkCopy(dbConnection))
            {
                s.DestinationTableName = "my_csv_table";
 
                foreach (var column in csvFileData.Columns)
                s.ColumnMappings.Add(column.ToString(), column.ToString());
 
                s.WriteToServer(csvFileData);
             }
         }
  }

    }
}

как правильно оформить функцию импорта направьте пожалуйста Экспорт получается великолепно ! а вот импорт беда и плюс хотел узнать можно ли читать csv с определенного места и писать его с этого ж определенного места

че т просмотров много а ответить ни хто не может

Решение задачи: «Перебор всех файлов из папки и их запись в таблицу»

textual
Листинг программы
namespace MyApp
{
    class Program
    {
        static void Main(string[] args)
 
        {
           const Int32 Sing = 253775808; // hash.GetHashCode();
 
    using (SqlConnection sqlConn = new SqlConnection(@"Data Source=sql-izh-inst-1.mehanika.ru;Initial Catalog=Billing1;Trusted_Connection=yes;"))
    {
 
    foreach (string fileName in Directory.EnumerateFiles(@"C:\Users\kabudasay\Desktop\cisco"))
    {
        sqlConn.Open();
        SqlCommand sqlCmd = new SqlCommand(
            string.Format("BULK INSERT dbo.Billing_table FROM '{0}' WITH (FIELDTERMINATOR = ',', FIRSTROW=3)", fileName),
            sqlConn
        );
        int rowsAffected = sqlCmd.ExecuteNonQuery();
        Console.Write("Total {0} Rows Inserted!", rowsAffected);
        
    }
 
    sqlConn.Close();
    }
 
 
 
 
    Console.ReadKey();
 
        } 
    } 
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.3 из 5
Похожие ответы