-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDateBase.cs
69 lines (68 loc) · 2.57 KB
/
DateBase.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.OleDb;
namespace Intensive
{
class DateBase
{
public static string connectString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=statistics.accdb;";
private OleDbConnection myConnection;
public string Uri;
Dictionary<string, int> date = new Dictionary<string, int>();
public DateBase(string uRi, Dictionary<string, int> DATA)
{
Uri = uRi;
date = DATA;
}
internal void main()
{
myConnection = new OleDbConnection(connectString);
myConnection.Open();
OleDbCommand command;
//string query;
try
{
Uri = Uri.Replace(".", " ");
//создание таблицы
string query = $"CREATE TABLE " + "[" + Uri + "]" + " ([Id] COUNTER NOT NULL PRIMARY KEY, [Word] STRING, [Unique] INT);";
command = new OleDbCommand(query, myConnection);
command.ExecuteNonQuery();
// ввод данных
Output_in_BD(date, Uri);
Console.WriteLine("Создана таблица с уникальными слова сайта."); //https://www.simbirsoft.com/
}
catch (OleDbException)
{
//удаление данных
string deleteTable = "DELETE FROM [" + Uri + "];";
OleDbCommand delete_command = new OleDbCommand(deleteTable, myConnection);
delete_command.ExecuteNonQuery();
//ввод данных
Output_in_BD(date, Uri);
Console.WriteLine($"Таблица {Uri} перезаписана.");
}
finally
{
myConnection.Close();
}
}
void Output_in_BD (Dictionary<string, int> date, string Uri)
{
int i = 1;
OleDbCommand commandQuery = new OleDbCommand(connectString);
foreach (KeyValuePair<string, int> a in date)
{
string h = a.Key;
h = h.Replace("'", "");
string Query = $"INSERT INTO " + "[" + Uri + "] " + "([Id], [Word], [Unique]) VALUES (" + i + ",'" + h + "', '" + a.Value + "');";
commandQuery = new OleDbCommand(Query, myConnection);
commandQuery.ExecuteNonQuery();
i++;
}
}
}
}