123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Configuration;
- using System.Data.Common;
- using System.IO;
- namespace Учёт
- {
- class Program
- {
- static void Main(string[] args)
- {
- System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
- StreamReader sr; // поток для чтения
- StreamWriter sw; // поток дя записи
- // Получение строки подключения и поставщика из App.config
- string dp = ConfigurationManager.AppSettings["provider"];
- string cnStr = ConfigurationManager.AppSettings["conStr"];
- // Получение генератора поставщика df
- DbProviderFactory df = DbProviderFactories.GetFactory(dp);
- // Получение объекта "подключение" (через df)
- using (DbConnection cn = df.CreateConnection())
- {
- cn.ConnectionString = cnStr;
- cn.Open();
- // Создание объекта "команда" (через df)
- DbCommand cmd = df.CreateCommand();
- cmd.Connection = cn;
- string strSQL = "Select * From ";
- cmd.CommandText = strSQL + "Список_пользователей";
- // Вывод списка пользователей
- cmd.CommandText = strSQL + "Список_пользователей";
- using (DbDataReader dr = cmd.ExecuteReader())
- {
- Console.WriteLine("\n Список_пользователей");
- while (dr.Read()) Console.WriteLine("-> ID-{0} \n | FIO-{1} | LOGIN-{2} | PASSWORD-{3} | PIN-CODE-{4}", dr[0], dr[1], dr[2], dr[3], dr[4]);
- }
- // Вывод платежей с помощью объекта "чтение данных" dr
- cmd.CommandText = strSQL + "Список_платежей";
- using (DbDataReader dr = cmd.ExecuteReader())
- {
- Console.WriteLine("\n Список_платежей");
- while (dr.Read()) Console.WriteLine("-> ID-{0, -5} | Дата-{1, -20} | Категория-{2, -24} | Наименование платежа-{3, -22} | Количество-{4, -2} | Цена-{5, -10} | Стоимость-{6, -12} | ID_Пользователя-{7} | ", dr[0], dr[1], dr[2], dr[3], dr[4], dr[5], dr[6], dr[7]);
- }
- // Найти в БД пользователя и платёж
- Console.WriteLine("\n Пользователь-платёж \n");
- string task_str = "SELECT Список_пользователей.FIO, Список_платежей.Категория " +
- "FROM Список_платежей JOIN Список_пользователей on Список_пользователей.id = Список_платежей.ID_пользователя ";
- cmd.CommandText = task_str;
- using (DbDataReader dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- {
- Console.WriteLine($"Пользователь {dr[0]} за {dr[1]}");
- }
- }
- try
- {
- Console.WriteLine("\n Добавление пользователей");
- string task_Insert = "Insert into Список_пользователей values (" + 80 + ", N'Анучина Любовь Николаевна', 'lubasha1969', 'sol69', '2003');";
- string task_GetDataD = "Select * from Список_пользователей;";
- cmd.CommandText = task_Insert + task_GetDataD;
- using (var dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- {
- Console.Write(" ");
- }
- }
- }
- catch
- {
- }
- try
- {
- string task_Insert = "Insert into Список_пользователей values (" + 90 + ", N'Баранова Полина Сергеевна', 'bara333', 'polya3', '2157');";
- string task_GetDataD = "Select * from Список_пользователей;";
- cmd.CommandText = task_Insert + task_GetDataD;
- using (var dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- {
- Console.Write(" ");
- }
- }
- }
- catch
- {
- }
- try
- {
- string task_Insert = "Insert into Список_пользователей values (" + 100 + ", N'Банникова Анастасия Алексеевна', 'lyalya01', 'QwErT', '9510');";
- string task_GetDataD = "Select * from Список_пользователей;";
- cmd.CommandText = task_Insert + task_GetDataD;
- using (var dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- {
- Console.Write(" ");
- }
- }
- }
- catch
- {
- }
- try
- {
- string task_Insert = "Insert into Список_пользователей values (" + 110 + ", N'Зарипов Руслан Рафаилович', 'Goraone', 'somt2938', '0129');";
- string task_GetDataD = "Select * from Список_пользователей;";
- cmd.CommandText = task_Insert + task_GetDataD;
- using (var dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- {
- Console.Write(" ");
- }
- }
- }
- catch
- {
- }
- try
- {
- string task_Insert = "Insert into Список_пользователей values (" + 120 + ", N'Алфимова Светлана Александровна', 'Fiolet18', 'ImOk', '5452');";
- string task_GetDataD = "Select * from Список_пользователей;";
- cmd.CommandText = task_Insert + task_GetDataD;
- using (var dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- {
- Console.Write(" ");
- }
- }
- }
- catch
- {
- }
- try
- {
- Console.WriteLine("\n Добавление платежа");
- string task_Insert = "Insert into Список_платежей values (" + 60 + ", '10.01.2021', N'Питание и быт', N'Сыр Российский', '1', '250','250','20');";
- string task_GetDataD = "Select * from Список_платежей;";
- cmd.CommandText = task_Insert + task_GetDataD;
- using (var dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- {
- Console.Write(" ");
- }
- }
- }
- catch
- {
- }
- try
- {
- Console.WriteLine("\n Добавление платежа");
- string task_Insert = "Insert into Список_платежей values (" + 61 + ", '02.02.2021', N'Питание и быт', N'Смайк 5', '1', '69','69','40');";
- string task_GetDataD = "Select * from Список_платежей;";
- cmd.CommandText = task_Insert + task_GetDataD;
- using (var dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- {
- Console.Write(" ");
- }
- }
- }
- catch
- {
- }
- try
- {
- Console.WriteLine("\n Добавление платежа");
- string task_Insert = "Insert into Список_платежей values (" + 62 + ", '12.03.2017', N'Медицина', N'Лекарства', '10', '50','500','30');";
- string task_GetDataD = "Select * from Список_платежей;";
- cmd.CommandText = task_Insert + task_GetDataD;
- using (var dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- {
- Console.Write(" ");
- }
- }
- }
- catch
- {
- }
- try
- {
- Console.WriteLine("\n Добавление платежа");
- string task_Insert = "Insert into Список_платежей values (" + 63 + ", '02.02.2027', N'Автомобиль', N'Ремонт', '1', '2000','2000','70');";
- string task_GetDataD = "Select * from Список_платежей;";
- cmd.CommandText = task_Insert + task_GetDataD;
- using (var dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- {
- Console.Write(" ");
- }
- }
- }
- catch
- {
- }
- try
- {
- Console.WriteLine("\n Добавление платежа");
- string task_Insert = "Insert into Список_платежей values (" + 64 + ", '11.09.2018', N'Разное', N'Чехол', '1', '200','200','50');";
- string task_GetDataD = "Select * from Список_платежей;";
- cmd.CommandText = task_Insert + task_GetDataD;
- using (var dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- {
- Console.Write(" ");
- }
- }
- }
- catch
- {
- }
- // Команда Update изменеие
- Console.WriteLine("\n Изменение платежа");
- string task_Update = "Update Список_платежей set Цена = '420' where ID = 64;" +
- "Update Список_платежей set стоимость = '420' where ID = 64;";
- string task_Update1 = "Update Список_платежей set Цена = '2900' where ID = 55;" +
- "Update Список_платежей set стоимость = '2900' where ID = 55;";
- string task_Update2 = "Update Список_платежей set Цена = '450' where ID = 44;" +
- "Update Список_платежей set стоимость = '450' where ID = 44;";
- string task_Update3 = "Update Список_платежей set Цена = '400' where ID = 20;" +
- "Update Список_платежей set стоимость = '400' where ID = 20;";
- string task_Update4 = "Update Список_платежей set Цена = '200' where ID = 4;" +
- "Update Список_платежей set стоимость = '200' where ID = 4;";
- string task_GetDataR = "Select * from Список_платежей;";
- cmd.CommandText = task_Update + task_Update1 + task_Update2 + task_Update3 + task_Update4 + task_GetDataR;
- using (var dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- {
- Console.WriteLine("-> ID-{0, -5} | Дата-{1, -22} | Категория-{2, -24} | Наименование платежа-{3, -22} | Количество-{4, -2} | Цена-{5, -10} | Стоимость-{6, -12} | ID_Пользователя-{7} | ", dr[0], dr[1], dr[2], dr[3], dr[4], dr[5], dr[6], dr[7]);
- }
- }
- // -------------------------------------------------------
- //cn.Close(); // закрыть соединение
- //удаление
- /*try
- {
- int count = 1;
- float[] min = new float[3];
- for (int i = 0; i < 3; i++)
- {
- min[i] = int.MaxValue;
- }
- int[] minID = new int[3];
- for (int i = 0; i < 3; i++)
- {
- minID[i] = 0;
- }
- cmd.CommandText = strSQL + "Список_платежей";
- cn.Open();
- using (var dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- {
- for (int i = 0; i < 3; i++)
- {
- if (Convert.ToSingle(dr[6]) < min[i])
- {
- min[i] = Convert.ToSingle(dr[6]);
- break;
- }
- Array.Sort(min);
- }
- count++;
- }
- }
- cn.Close();
- cn.Open();
- Console.WriteLine("Список с удалёнными тремя минимальными по сумме");
- string task_Delete = "Delete from Список_платежей where Стоимость = " + min[0] + ";";
- cmd.CommandText = task_Delete;
- cmd.ExecuteReader();
- cn.Close();
- cn.Open();
- string task_GetData = "Select * from Список_платежей;";
- string task_Delete1 = "Delete from Список_платежей where Стоимость = " + min[1] + ";";
- cmd.CommandText = task_Delete1;
- cmd.ExecuteReader();
- cn.Close();
- cn.Open();
- string task_GetData1 = "Select * from Список_платежей;";
- string task_Delete2 = "Delete from Список_платежей where Стоимость = " + min[2] + ";";
- cmd.CommandText = task_Delete2;
- cmd.ExecuteReader();
- cn.Close();
- cn.Open();
- string task_GetData2 = "Select * from Список_платежей;";
- cmd.CommandText = task_GetData + task_GetData1 + task_GetData2;
- using (var dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- {
- Console.WriteLine("| -{0, -5} | {1, -22} | {2, -24} | {3, -22} | {4, -2} | {5, -10} | {6, -12} | {7} |", dr[0], dr[1], dr[2], dr[3], dr[4], dr[5], dr[6], dr[7]);
- }
- }
- cn.Close();
- }
- catch
- {
- }*/
- try
- { // Чтение из файла
- // связывание с файлом, кодировка символов Юникода
- const int NmaxZap = 10; // макс.число записей
- FileInfo fi = new FileInfo("PayCopy.txt");
- sr = new StreamReader("Pay.txt",Encoding.GetEncoding(65001));
- string [] d = new string[NmaxZap];
- string t = sr.ReadLine(); // чтение первой (0-й) строки
- int i = 0; // счетчик строк
- while ((t!=null)&&(i<d.Length)) // Чтение из файла не более чем NmaxZap
- {
- Console.WriteLine(t); // на экран (для контроля)
- t = sr.ReadLine(); // чтение остальных строк
- }
- sr.Close(); //fi.CopyTo("PayCopy.txt", true);
- fi = new FileInfo("Pay.txt"); // информация о файле
- sw = fi.AppendText();
- // --------------------------------------------------------
- Console.WriteLine("\nБыли добавлены следующие записи: ");
- sw.WriteLine("\nБыли добавлены следующие записи: ");
- try
- {
- string task_Insert = "Insert into Список_платежей values (" + 65 + ", N'01.12.20', N'Медецина', N'Врач', '1', '1500', '1500', '10');";
- string task_GetDataD = "Select * from Список_платежей;";
- cmd.CommandText = task_Insert + task_GetDataD;
- using (DbDataReader dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- {
- if (Convert.ToInt32(dr[0]) == 65)
- {
- Console.WriteLine("| {0, -5} | {1, -22} | {2, -24} | {3, -22} | {4, -2} | {5, -10} | {6, -12} | {7} |", dr[0], dr[1], dr[2], dr[3], dr[4], dr[5], dr[6], dr[7]);
- sw.WriteLine("|{0, -5} | {1, -22} | {2, -24} | {3, -22} | {4, -2} | {5, -10} | {6, -12} | {7} |", dr[0], dr[1], dr[2], dr[3], dr[4], dr[5], dr[6], dr[7]);
- }
- }
- }
- task_Insert = "Insert into Список_платежей values (" + 66 + ", N'06.12.2022', N'Разное', N'Ствол', '5', '15205', '76025', '60');";
- task_GetDataD = "Select * from Список_платежей;";
- cmd.CommandText = task_Insert + task_GetDataD;
- using (DbDataReader dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- {
- if (Convert.ToInt32(dr[0]) == 66)
- {
- Console.WriteLine("|{0, -5} | {1, -22} | {2, -24} | {3, -22} | {4, -2} | {5, -10} | {6, -12} | {7} |", dr[0], dr[1], dr[2], dr[3], dr[4], dr[5], dr[6], dr[7]);
- sw.WriteLine("| {0, -5} | {1, -22} | {2, -24} | {3, -22} | {4, -2} | {5, -10} | {6, -12} | {7} |", dr[0], dr[1], dr[2], dr[3], dr[4], dr[5], dr[6], dr[7]);
- }
- }
- }
- task_Insert = "Insert into Список_платежей values (" + 67 + ", N'08.02.2021', N'Быт и питание', N'Гипермаркет', '1', '3000', '3000', '110');";
- task_GetDataD = "Select * from Список_платежей;";
- cmd.CommandText = task_Insert + task_GetDataD;
- using (DbDataReader dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- {
- if (Convert.ToInt32(dr[0]) == 67)
- {
- Console.WriteLine("|{0, -5} | {1, -22} | {2, -24} | {3, -22} | {4, -2} | {5, -10} | {6, -12} | {7} |", dr[0], dr[1], dr[2], dr[3], dr[4], dr[5], dr[6], dr[7]);
- sw.WriteLine("|{0, -5} | {1, -22} | {2, -24} | {3, -22} | {4, -2} | {5, -10} | {6, -12} | {7} |", dr[0], dr[1], dr[2], dr[3], dr[4], dr[5], dr[6], dr[7]);
- }
- }
- }
- }
- catch
- {
- Console.WriteLine("Вставка новой записи о пользователе с уже заданным ID");
- sw.WriteLine("Вставка новой записи о пользователе с уже заданным ID");
- }
- sw.Close();
- // Запись в файл:
- // связывание с файлом, кодировка символов
- sr = new StreamReader("Pay.txt", Encoding.GetEncoding(65001));
- string str = File.ReadAllText("PayCopy.txt");//информация о файле
- fi = new FileInfo("PayCopy.txt");
- sw = fi.AppendText();
- sw.WriteLine();
- t = sr.ReadLine(); // чтение первой (0-й) строки
- while (t != null) // Чтение из файла
- {
- if (!str.Contains(t))
- {
- sw.WriteLine(t);
- }
- t = sr.ReadLine(); // чтение остальных строк
- }
- sr.Close();
- sw.Close();
- cn.Close(); // закрыть соединение
- }
-
- catch (Exception ex) // обработка исключений (например, если нет файла "info.txt")
- {
- Console.WriteLine("Нет файла для чтения!"+ ex);
- }
- // --------------------------------------------------------
- Console.ReadKey();
- }
- }
- }
- }
|