Advertisement
codisinmyvines

Denis

Nov 29th, 2021
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.83 KB | None | 0 0
  1. //процедура
  2. private string connstring = String.Format("Server={0};Port={1};" +
  3. "User Id={2};Password={3};Database={4};",
  4. "localhost", 5432, "postgres",
  5. "Kuzmaiva20025", "Zadanie1");
  6. private NpgsqlConnection conn;
  7. private string sql;
  8. private NpgsqlCommand cmd;
  9. private DataTable dt;
  10. private void performProcedure_Click(object sender, EventArgs e)
  11. {
  12.  
  13. labelResult.Visible = true;
  14. conn = new NpgsqlConnection(connstring);
  15. conn.Open();
  16. int id_cust =Int32.Parse(dgvShipmentAccounting.CurrentRow.Cells["idcustomerDataGridViewTextBoxColumn"].Value.ToString());
  17. sql = @"CALL get_quantity_orders_and_details(:id_cust, :quantity_orders, :quantity_details)";
  18. cmd = new NpgsqlCommand(sql, conn);
  19. cmd.Parameters.AddWithValue("id_cust", id_cust);
  20. cmd.Parameters.AddWithValue("quantity_orders", 0);
  21. cmd.Parameters.AddWithValue("quantity_details", 0);
  22. dt = new DataTable();
  23. dt.Load(cmd.ExecuteReader());
  24.  
  25. conn.Close();
  26. DataRow[] rows = dt.Select();
  27. labelResult.Text = "Количество заказов = " + rows[0][0].ToString() + "\n и деталей = " + rows[0][1].ToString();
  28. }
  29. //альтернативная форма
  30. //в коде Form1.cs
  31. private void альтернативнаяToolStripMenuItem1_Click(object sender, EventArgs e)
  32. {
  33. Form2 f2 = new Form2();
  34. f2.Show();
  35. }
  36. //сам код альтер формы
  37. private void Form2_Load(object sender, EventArgs e)
  38. {
  39. // TODO: данная строка кода позволяет загрузить данные в таблицу "zadanie1DataSet.shipment_accounting". При необходимости она может быть перемещена или удалена.
  40. this.shipment_accountingTableAdapter.Fill(this.zadanie1DataSet.shipment_accounting);
  41. // TODO: данная строка кода позволяет загрузить данные в таблицу "zadanie1DataSet.details". При необходимости она может быть перемещена или удалена.
  42. this.detailsTableAdapter.Fill(this.zadanie1DataSet.details);
  43. // TODO: данная строка кода позволяет загрузить данные в таблицу "zadanie1DataSet.availability_details". При необходимости она может быть перемещена или удалена.
  44. this.availability_detailsTableAdapter.Fill(this.zadanie1DataSet.availability_details);
  45. dataGridView1.AutoGenerateColumns = true;
  46. }
  47.  
  48. private void button1_Click(object sender, EventArgs e)
  49. {
  50. if(lblTableName.Text!="Наличие деталей")
  51. {
  52. dataGridView1.Columns.Clear();
  53. dataGridView1.DataSource = availabilitydetailsBindingSource;
  54. bindingNavigator1.BindingSource = availabilitydetailsBindingSource;
  55. lblTableName.Text = "Наличие деталей";
  56. }
  57.  
  58. }
  59.  
  60. private void button2_Click(object sender, EventArgs e)
  61. {
  62. if (lblTableName.Text != "Учет отгрузки")
  63. {
  64. dataGridView1.Columns.Clear();
  65. dataGridView1.DataSource = shipmentaccountingBindingSource;
  66. bindingNavigator1.BindingSource = shipmentaccountingBindingSource;
  67. lblTableName.Text = "Учет отгрузки";
  68. }
  69. }
  70.  
  71. private void button3_Click(object sender, EventArgs e)
  72. {
  73. if (lblTableName.Text != "Детали")
  74. {
  75. dataGridView1.Columns.Clear();
  76. dataGridView1.DataSource = detailsBindingSource;
  77. bindingNavigator1.BindingSource = detailsBindingSource;
  78. lblTableName.Text = "Детали";
  79. }
  80. }
  81.  
  82. private void button4_Click(object sender, EventArgs e)
  83. {
  84. tableAdapterManager1.UpdateAll(zadanie1DataSet);
  85. MessageBox.Show("Изменения сохранены.");
  86. }
  87.  
  88. private void button5_Click(object sender, EventArgs e)
  89. {
  90. Close();
  91. }
  92. //вариант 1v1 там сам в tableadapter задаешь запрос для метода Fill(), там довольно легко, просто выбираешь нужные таблички, выбираешь что тебе нужно, оно само через inner join их свяжет
  93. //вариант 1v2
  94. public void QueryZap1(int kolvo)
  95. {
  96. zadanie1DataSet.DataTable1.Clear();
  97. foreach(Zadanie1DataSet.detailsRow dRows in zadanie1DataSet.details.Rows)
  98. {
  99. foreach(Zadanie1DataSet.availability_detailsRow adRows in zadanie1DataSet.availability_details.Rows)
  100. {
  101. if(dRows.price_unit_detail > kolvo && dRows.id_detail == adRows.id_detail)
  102. {
  103. Zadanie1DataSet.DataTable1Row zRow = zadanie1DataSet.DataTable1.NewDataTable1Row();
  104. zRow.name_of_detail = dRows.name_of_detail;
  105. zRow.price_unit_detail = dRows.price_unit_detail;
  106. zRow.num_warehouse = adRows.num_warehouse;
  107. zRow.quantity_in_warehouse = adRows.quantity_in_warehouse;
  108. zadanie1DataSet.DataTable1.Rows.Add(zRow);
  109. }
  110. }
  111. }
  112. dataGridView1.Refresh();
  113. }
  114.  
  115. private void button1_Click(object sender, EventArgs e)
  116. {
  117. QueryZap1(Int32.Parse(textBox1.Text.ToString()));
  118. }
  119. //вариант 1v3
  120. private void QueryZapr2(int kolvo)
  121. {
  122. zadanie1DataSet.DataTable1.Clear();
  123. foreach (Zadanie1DataSet.availability_detailsRow adRows in zadanie1DataSet.availability_details.Rows)
  124. {
  125. Zadanie1DataSet.detailsRow dRows = zadanie1DataSet.details.FindByid_detail(adRows.id_detail);
  126. if (dRows.price_unit_detail > kolvo)
  127. {
  128. Zadanie1DataSet.DataTable1Row zRow = zadanie1DataSet.DataTable1.NewDataTable1Row();
  129. zRow.name_of_detail = dRows.name_of_detail;
  130. zRow.price_unit_detail = dRows.price_unit_detail;
  131. zRow.num_warehouse = adRows.num_warehouse;
  132. zRow.quantity_in_warehouse = adRows.quantity_in_warehouse;
  133. zadanie1DataSet.DataTable1.Rows.Add(zRow);
  134. }
  135. }
  136. dataGridView1.Refresh();
  137. }
  138. //вариант 1v4
  139. public void QueryZapr3(int kolvo)
  140. {
  141. zadanie1DataSet.DataTable1.Clear();
  142. foreach (Zadanie1DataSet.availability_detailsRow adRows in zadanie1DataSet.availability_details.Rows)
  143. {
  144. Zadanie1DataSet.detailsRow dRows = adRows.GetParentRow("details_availability_details") as Zadanie1DataSet.detailsRow;
  145. if (dRows.price_unit_detail > kolvo)
  146. {
  147. Zadanie1DataSet.DataTable1Row zRow = zadanie1DataSet.DataTable1.NewDataTable1Row();
  148. zRow.name_of_detail = dRows.name_of_detail;
  149. zRow.price_unit_detail = dRows.price_unit_detail;
  150. zRow.num_warehouse = adRows.num_warehouse;
  151. zRow.quantity_in_warehouse = adRows.quantity_in_warehouse;
  152. zadanie1DataSet.DataTable1.Rows.Add(zRow);
  153. }
  154. }
  155. dataGridView1.Refresh();
  156. }
  157. //вариант 1v5
  158. private void QueryZapr4(int kolvo)
  159. {
  160. NpgsqlConnection conn = new NpgsqlConnection(Properties.Settings.Default.Zadanie1ConnectionString);
  161. conn.Open();
  162.  
  163. String sql = @"SELECT details.name_of_detail, details.price_unit_detail, availability_details.num_warehouse, availability_details.quantity_in_warehouse "+
  164. "FROM availability_details INNER JOIN "+
  165. "details ON availability_details.id_detail = details.id_detail "+
  166. "WHERE (details.price_unit_detail > "+kolvo.ToString()+")";
  167.  
  168. NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
  169. NpgsqlDataReader rdr = cmd.ExecuteReader();
  170. DataTable dt = new DataTable();
  171. dt.Load(rdr);
  172. conn.Close();
  173. BindingSource bs = new BindingSource();
  174. bs.DataSource = dt;
  175. dataGridView1.DataSource = bs;
  176. dataGridView1.Refresh();
  177. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement