Advertisement
nikminer4sv

Untitled

Dec 25th, 2022
1,292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.98 KB | None | 0 0
  1. using System.Collections.Generic;
  2. using System.Data;
  3. using System.Data.OleDb;
  4. using System.Windows.Forms;
  5. namespace lab9
  6. {
  7.     public partial class Form1 : Form
  8.     {
  9.         public string ConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=..\\..\\Database.accdb";
  10.         public OleDbConnection connection;
  11.         public string table1_name = "Товары";
  12.         public string table2_name = "Поставщики";
  13.         public string table3_name = "Категории";
  14.         public Form1()
  15.         {
  16.             InitializeComponent();
  17.             OleDbDataAdapter dA1 = new OleDbDataAdapter($"SELECT * FROM {table1_name}", connection);
  18.             OleDbDataAdapter dA2 = new OleDbDataAdapter($"SELECT * FROM {table2_name}", connection);
  19.             OleDbDataAdapter dA3 = new OleDbDataAdapter($"SELECT * FROM {table3_name}", connection);
  20.             DataSet ds1 = new DataSet();
  21.             DataSet ds2 = new DataSet();
  22.             DataSet ds3 = new DataSet();
  23.             dA1.Fill(ds1);
  24.             dA2.Fill(ds2);
  25.             dA3.Fill(ds3);
  26.             table1.DataSource = ds1.Tables[0].DefaultView;
  27.             table2.DataSource = ds2.Tables[0].DefaultView;
  28.             table3.DataSource = ds3.Tables[0].DefaultView;
  29.         }
  30.         private void Form1_FormClosing(object sender, FormClosingEventArgs e)
  31.         {
  32.             string cmd1 = $"DELETE * FROM {table1_name}";
  33.             OleDbCommand command1 = new OleDbCommand(cmd1, connection);
  34.             connection.Open();
  35.             command1.ExecuteNonQuery();
  36.             connection.Close();
  37.             cmd1 = $"DELETE * FROM {table2_name}";
  38.             command1 = new OleDbCommand(cmd1, connection);
  39.             connection.Open();
  40.             command1.ExecuteNonQuery();
  41.             connection.Close();
  42.             foreach (DataGridViewRow row in table1.Rows)
  43.             {
  44.                 List<string> columns = new List<string>();
  45.                 List<string> params_ = new List<string>();
  46.                 foreach (DataGridViewCell cell in row.Cells)
  47.                 {
  48.                     columns.Add(cell.OwningColumn.Name);
  49.                     params_.Add(cell.Value == null ? "" : cell.Value.ToString());
  50.                 }
  51.                 bool s = false;
  52.                 foreach (string str in params_)
  53.                     s = str.Length == 0;
  54.                 if (s) continue;
  55.                 string cls = "(";
  56.                 string vals = "(";
  57.                 for (int i = 0; i < columns.Count; i++)
  58.                 {
  59.                     cls += $"`{columns[i]}`,";
  60.                     vals += $"@value{i},";
  61.                 }
  62.                 cls = cls.Substring(0, cls.Length - 1) + ")";
  63.                 vals = vals.Substring(0, vals.Length - 1) + ")";
  64.                 string cmd = $"INSERT INTO `{table1_name}` {cls} VALUES {vals}";
  65.                 OleDbCommand command = new OleDbCommand(cmd, connection);
  66.                 for (int i = 0; i < columns.Count; i++)
  67.                     command.Parameters.Add($"@value{i}", OleDbType.VarChar).Value = params_[i];
  68.                 connection.Open();
  69.                 try { command.ExecuteNonQuery(); } catch { }
  70.                 connection.Close();
  71.             }
  72.             foreach (DataGridViewRow row in table2.Rows)
  73.             {
  74.                 List<string> columns = new List<string>();
  75.                 List<string> params_ = new List<string>();
  76.                 foreach (DataGridViewCell cell in row.Cells)
  77.                 {
  78.                     columns.Add(cell.OwningColumn.Name);
  79.                     params_.Add(cell.Value == null ? "" : cell.Value.ToString());
  80.                 }
  81.                 bool s = false;
  82.                 foreach (string str in params_)
  83.                     s = str.Length == 0;
  84.                 if (s) continue;
  85.                 string cls = "(";
  86.                 string vals = "(";
  87.                 for (int i = 0; i < columns.Count; i++)
  88.                 {
  89.                     cls += $"`{columns[i]}`,";
  90.                     vals += $"?,";
  91.                 }
  92.                 cls = cls.Substring(0, cls.Length - 1) + ")";
  93.                 vals = vals.Substring(0, vals.Length - 1) + ")";
  94.                 string cmd = $"INSERT INTO `{table2_name}` {cls} VALUES {vals}";
  95.                 OleDbCommand command = new OleDbCommand(cmd, connection);
  96.                 for (int i = 0; i < columns.Count; i++)
  97.                     command.Parameters.AddWithValue($"@{columns[i]}", params_[i]);
  98.                 connection.Open();
  99.                 try { command.ExecuteNonQuery(); } catch { }
  100.                 connection.Close();
  101.             }
  102.             foreach (DataGridViewRow row in table3.Rows)
  103.             {
  104.                 List<string> columns = new List<string>();
  105.                 List<string> params_ = new List<string>();
  106.                 foreach (DataGridViewCell cell in row.Cells)
  107.                 {
  108.                     columns.Add(cell.OwningColumn.Name);
  109.                     params_.Add(cell.Value == null ? "" : cell.Value.ToString());
  110.                 }
  111.                 bool s = false;
  112.                 foreach (string str in params_)
  113.                     s = str.Length == 0;
  114.                 if (s) continue;
  115.                 string cls = "(";
  116.                 string vals = "(";
  117.                 for (int i = 0; i < columns.Count; i++)
  118.                 {
  119.                     cls += $"`{columns[i]}`,";
  120.                     vals += $"?,";
  121.                 }
  122.                 cls = cls.Substring(0, cls.Length - 1) + ")";
  123.                 vals = vals.Substring(0, vals.Length - 1) + ")";
  124.                 string cmd = $"INSERT INTO `{table3_name}` {cls} VALUES {vals}";
  125.                 OleDbCommand command = new OleDbCommand(cmd, connection);
  126.                 for (int i = 0; i < columns.Count; i++)
  127.                     command.Parameters.AddWithValue($"@{columns[i]}", params_[i]);
  128.                 connection.Open();
  129.                 try { command.ExecuteNonQuery(); } catch { }
  130.                 connection.Close();
  131.             }
  132.         }
  133.  
  134.     }
  135. }
  136.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement