Вставьте данные в SQL Сервер, используя файл TXT - PullRequest
0 голосов
/ 02 апреля 2020

Я хочу вставить данные из файла .txt в SQL Серверную базу данных, но у меня возникла проблема: он вставляет только первую строку из моего файла, он не вставляет вторую и следующую строку.

Как мне решить эту проблему?

StreamReader file = new StreamReader(@path_reporttext);

if ((line = file.ReadLine()) != null)
{
    string[] lines = File.ReadAllLines(path_reporttext);
    int countOfLines = lines.Count();
    string[] fields = line.Split(',');

    foreach (string linee in lines)
    {
        Console.WriteLine(linee);
        FingerLog.InsertData(fields[0].ToString(), fields[1].ToString(), "NULL", DateTime.Now, "NULL", fields[5].ToString());
    }
}

Это мой .txt файл:

enter image description here

Это это то, что я хочу в SQL Сервер:

This is my txt file

1 Ответ

1 голос
/ 02 апреля 2020

Вы создаете StreamReader и считываете из него одну строку, затем читаете весь файл в string[] и зацикливаете эти строки. В l oop вы вставляете данные из fields, который был создан вне l oop с помощью Split() в этой первой строке StreamReader, а не в текущей строке.

Попробуйте вместо этого ...

string[] lines = File.ReadAllLines(path_reporttext);
//int countOfLines = lines.Count();

foreach (string linee in lines)
{
    string[] fields = linee.Split(',');

    Console.WriteLine(linee);
    FingerLog.InsertData(fields[0], fields[1], "NULL", DateTime.Now, "NULL", fields[5]);
}

Я также удалил вызовы .ToString() для элементов fields, потому что они избыточны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...