Обновление столбца SQL на основе текстового файла (строка foreach в нем) - PullRequest
0 голосов
/ 28 сентября 2010

То, что у меня есть, - это очень большой текстовый файл, который нужно поместить в определенный столбец в определенном сырье. Файл составляет около 100 тыс. Строк. Итак, я хочу прочитать весь файл, и для каждой строки добавить в этот конкретный столбец SQL строку. Вот что у меня есть, но мне действительно нужна помощь по SQL-запросу

string[] primaryfix = File.ReadAllLines(dinfo+"\\"+filex);
            string filename = filex.ToString();
            string[] spltifilename = filename.Split('.');
            foreach (string primary in primaryfix)
            {
                string sqltable = ("dbo.amu_Textloadingarea");
                string sql = "update " + sqltable + " set [Text] = [Text] + '" + primary + "' where begbates = '" + spltifilename[0] + "'";

                SqlConnection con = new SqlConnection("Data Source= Corvette ;Initial Catalog= GSK_Avandia_SSECASE;Integrated Security= SSPI");
                con.Open();
                SqlCommand cmd = new SqlCommand(sql, con);
                SqlDataReader reader = cmd.ExecuteReader();
                con.Close();

            }

все хорошо, за исключением строки sql, она не обновляется так, как мне бы хотелось.

Любая помощь всегда ценится.

Ответы [ 2 ]

0 голосов
/ 28 сентября 2010

Похоже, вы пытаетесь прочитать из базы данных с этим кодом внутри цикла.SqlDataReader предоставляет способ чтения строк из базы данных, но не наоборот.

Заменить

SqlDataReader reader = cmd.ExecuteReader();

на

cmd.ExecuteNonQuery();
0 голосов
/ 28 сентября 2010

Первое, что я вижу, это то, что вы не избегаете ввода из текстового файла; любые экранирующие символы SQL (например, одинарные кавычки) будут нарушать эту команду. Я бы порекомендовал использовать параметры, чтобы вам вообще не пришлось беспокоиться о побегах.

Кроме этого, на ум не приходит ничего, что указывало бы на то, почему команда не работает , но мне интересно, не вызовет ли она меньше проблем, если это такой большой файл, чтобы прочитать его в строке- скорее, чем все сразу.

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