|
@@ -14,6 +14,10 @@ namespace Учёт
|
|
|
{
|
|
|
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"];
|
|
@@ -239,15 +243,179 @@ namespace Учёт
|
|
|
{
|
|
|
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("-> 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(); // закрыть соединение
|
|
|
-
|
|
|
- /*using SELECT MIN (Стоимость);
|
|
|
- using FROM Список_платежей;*/
|
|
|
- Console.ReadKey();
|
|
|
+ }
|
|
|
+
|
|
|
+ catch (Exception ex) // обработка исключений (например, если нет файла "info.txt")
|
|
|
+ {
|
|
|
+ Console.WriteLine("Нет файла для чтения!"+ ex);
|
|
|
+ }
|
|
|
+ // --------------------------------------------------------
|
|
|
+ Console.ReadKey();
|
|
|
}
|
|
|
}
|
|
|
}
|