· 5 years ago · Jun 12, 2020, 03:12 PM
1using System;
2using System.Collections.Generic;
3using System.ComponentModel;
4using System.Data;
5using System.Drawing;
6using System.IO;
7using System.Linq;
8using System.Net;
9using System.Text;
10using System.Threading.Tasks;
11using System.Windows.Forms;
12using System.Xml;
13using MySql.Data;
14using MySql.Data.MySqlClient;
15
16namespace Laba_Zalitko
17
18{
19 public partial class MainForm : Form
20 {
21 public MainForm()
22 {
23 InitializeComponent();
24 }
25
26
27 private void btGetRss_Click(object sender, EventArgs e) // кнопка добавления в БД скачанных новостей
28 {
29 string strNews; string strAddress = tbAddress.Text;
30 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(tbAddress.Text);
31 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
32 Stream stream = response.GetResponseStream();
33 StreamReader reader = new StreamReader(stream);
34 strNews = reader.ReadToEnd(); // считываем текст rss-ленты.
35
36 tbShowRss.Text = strNews;
37
38 XmlDocument xmlNews = new XmlDocument();
39 xmlNews.Load(strAddress);
40
41 XmlNodeList childNodeList = xmlNews.DocumentElement.SelectSingleNode("channel").SelectNodes("item");
42
43 foreach (XmlNode xmlNode in childNodeList)
44 {
45 // добавлениие в textBox
46 string title = xmlNode.SelectSingleNode("title").InnerText;
47 string link = xmlNode.SelectSingleNode("link").InnerText;
48 string description = xmlNode.SelectSingleNode("description").InnerText;
49 string pubDate = xmlNode.SelectSingleNode("pubDate").InnerText;
50
51 tbXml.Text = tbXml.Text + title + "\r\n" + link + "\r\n" +description + "\r\n" + pubDate + "\r\n" + "---------------------" + "\r\n";
52
53 }
54 }
55
56
57 private void btInMySQL_Click(object sender, EventArgs e)
58 {
59 string strNews; string strAddress = tbAddress.Text;
60 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(tbAddress.Text);
61 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
62 Stream stream = response.GetResponseStream();
63 StreamReader reader = new StreamReader(stream);
64 strNews = reader.ReadToEnd(); // считываем текст rss-ленты.
65
66 tbShowRss.Text = strNews;
67
68 XmlDocument xmlNews = new XmlDocument();
69 xmlNews.Load(strAddress);
70
71 XmlNodeList childNodeList = xmlNews.DocumentElement.SelectSingleNode("channel").SelectNodes("item");
72
73
74 string connectionString = //Set your MySQL connection string here.
75 "SERVER=127.0.0.1;" +
76 "DATABASE=Моя_база;" +
77 "UID=root;" +
78 "PASSWORD=qazwsxedc1234432;";
79
80 MySql.Data.MySqlClient.MySqlConnection conn = new MySql.Data.MySqlClient.MySqlConnection(connectionString);
81 conn.Open();
82
83 MySqlCommand cmd1 = conn.CreateCommand();
84 cmd1.CommandText = string.Format("DELETE FROM Новостная_лента");
85
86 //string query = "CREATE TABLE IF NOT EXISTS News(Id INTEGER PRIMARY KEY AUTO_INCREMENT, Title TEXT(100), Link TEXT(100), Description TEXT(100), PubDate TEXT(100));";
87 string query = "INSERT INTO Новостная_лента(Title, Link, Description, PubDate) VALUES(@title, @link, @description, @pubDate)";
88 cmd1.ExecuteNonQuery();
89
90 foreach (XmlNode xmlNode in childNodeList)
91 {
92 MySqlCommand cmd = new MySqlCommand(query, conn);
93
94 // добавлениие в textBox
95 string title = xmlNode.SelectSingleNode("title").InnerText;
96 string link = xmlNode.SelectSingleNode("link").InnerText;
97 string description = xmlNode.SelectSingleNode("description").InnerText;
98 string pubDate = xmlNode.SelectSingleNode("pubDate").InnerText;
99
100 tbXml.Text = tbXml.Text + title + "\r\n" + link + "\r\n" + description + "\r\n" + pubDate + "\r\n" + "---------------------" + "\r\n";
101
102 // добавление в БД SQLlite
103
104 cmd.Parameters.AddWithValue("@title", title);
105 cmd.Parameters.AddWithValue("@link", link);
106 cmd.Parameters.AddWithValue("@description", description);
107 cmd.Parameters.AddWithValue("@pubDate", pubDate);
108
109 cmd.ExecuteNonQuery();
110 }
111 //Execute command
112
113 }
114
115 private void getFromMySQL_Click(object sender, EventArgs e)
116 {
117 tbXml.Text = "";
118
119 string connectionString = //Set your MySQL connection string here.
120 "SERVER=127.0.0.1;" +
121 "DATABASE=Моя_база;" +
122 "UID=root;" +
123 "PASSWORD=qazwsxedc1234432;";
124
125 MySql.Data.MySqlClient.MySqlConnection conn = new MySql.Data.MySqlClient.MySqlConnection(connectionString);
126 conn.Open();
127
128 MySqlCommand cmd = new MySqlCommand("SELECT * FROM Новостная_лента", conn);
129 cmd.ExecuteNonQuery();
130
131 MySqlDataReader reader = cmd.ExecuteReader();
132 foreach (System.Data.Common.DbDataRecord item in reader)
133 {
134 string title = item["Title"].ToString();
135 string pubDate = item["PubDate"].ToString();
136 string link = item["Link"].ToString();
137 string description = item["Description"].ToString();
138
139 tbXml.Text = tbXml.Text + title + "\r\n" + link + "\r\n" + description + "\r\n" + pubDate + "\r\n" + "- - - - - - - - - -" + "\r\n";
140 }
141
142
143 }
144
145 private void MainForm_Load(object sender, EventArgs e)
146 {
147
148 }
149
150 private void MainForm_Load_1(object sender, EventArgs e)
151 {
152
153 }
154
155 private void tbShowRss_TextChanged(object sender, EventArgs e)
156 {
157
158 }
159 }
160
161}