Ошибка при добавлении данных в SQL Server в C #? - PullRequest
0 голосов
/ 05 февраля 2012
StringBuilder Description = new StringBuilder();
        StringBuilder Title = new StringBuilder();
        StringBuilder URL = new StringBuilder();
        SqlConnection cs = new SqlConnection("Data Source = MyPC\\SQLEXPRESS; Initial Catalog = Youtube; Integrated Security =True;");
        SqlDataAdapter da = new SqlDataAdapter();

        string url = TextBox1.Text.ToString();
        var doc = XDocument.Load(url);
        var items = doc.Descendants("item");

        XNamespace nsContent = "http://purl.org/rss/1.0/modules/content/";
        XNamespace nsfeedburner = "http://rssnamespace.org/feedburner/ext/1.0";


        cs.Open();
        foreach (var item in items)
        {
            Title.Append( item.Element("title").Value); //For Title
            var encodedContent = (string)item.Element(nsContent + "encoded");
            var decodedContent = System.Net.WebUtility.HtmlDecode(encodedContent); 
            var html = new HtmlDocument();
            html.LoadHtml(decodedContent);
            var ps = html.DocumentNode.Descendants("p");

            foreach (var p in ps)
            {
                var textContent = p.InnerText;
                Description.Append(textContent.Trim().ToString());
            }

           URL.Append((string)item.Element(nsfeedburner + "origLink"));

          da.InsertCommand = new SqlCommand("INSERT INTO datalinks VALUES (@URL, @Title, @Content)", cs);
            da.InsertCommand.Parameters.Add(new SqlParameter("@URL", SqlDbType.VarChar,250)).Value = URL.ToString();
            da.InsertCommand.Parameters.Add(new SqlParameter("@Title", SqlDbType.VarChar, 200)).Value = Title.ToString();
            da.InsertCommand.Parameters.Add(new SqlParameter("@Content", SqlDbType.VarChar, 2000)).Value = Description.ToString();


            da.InsertCommand.ExecuteNonQuery();

        }
        cs.Close();

Я использую этот код для вставки некоторых извлеченных значений в мою базу данных из: http://feeds.feedburner.com/TechCrunch

Содержимое в источнике содержит 20 различных данных (urls, titles, descriptions и т. Д.)

Работает нормально, но каждый раз добавляет первые значения данных во все 20 строк.

Что действительно нужно сделать, так это извлечь и добавить все 20 различных строк (urls, titles, descriptions), но при этом все время добавляется 1-я строка. (20 раз)

пожалуйста, помогите Спасибо

1 Ответ

3 голосов
/ 05 февраля 2012

Убедитесь, что порядок полей в таблице соответствует порядку, в который вы вводите. Или добавьте имена полей как часть оператора ввода

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