codisinmyvines

sqldlyaDenisa

Nov 16th, 2021 (edited)
491
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.43 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using Npgsql;
  11. using Microsoft.VisualBasic;
  12. namespace Zadanie2BD
  13. {
  14.     public partial class Form1 : Form
  15.     {
  16.         private string connstring = String.Format("Server={0};Port={1};" +
  17.             "User Id={2};Password={3};Database={4};",
  18.             "localhost", 5432, "postgres",
  19.             "Kuzmaiva20025", "Zadanie1");
  20.         private NpgsqlConnection conn;
  21.         private string sql;
  22.         private NpgsqlCommand cmd;
  23.         private DataTable dt;
  24.         public Form1()
  25.         {
  26.             InitializeComponent();
  27.         }
  28.  
  29.         private void Form1_Load(object sender, EventArgs e)
  30.         {
  31.             // TODO: данная строка кода позволяет загрузить данные в таблицу "zadanie1DataSet.shipment_accounting". При необходимости она может быть перемещена или удалена.
  32.             this.shipment_accountingTableAdapter.Fill(this.zadanie1DataSet.shipment_accounting);
  33.             availability_detailsTableAdapter.Fill(this.zadanie1DataSet.availability_details);
  34.             shipment_accountingTableAdapter.Fill(this.zadanie1DataSet1.shipment_accounting);
  35.             detailsTableAdapter.Fill(this.zadanie1DataSet1.details);
  36.         }
  37.  
  38.         private void dgvAvailabilityDetails_Click(object sender, EventArgs e)
  39.         {
  40.             bindingNavigator1.BindingSource = availabilitydetailsBindingSource;
  41.             lblTable.Text = "Наличие деталей";
  42.             dgvShipmentAccounting.DataSource = availabilitydetailsshipmentaccountingBindingSource;
  43.         }
  44.  
  45.         private void dgvShipmentAccounting_Click(object sender, EventArgs e)
  46.         {
  47.             bindingNavigator1.BindingSource = shipmentaccountingBindingSource;
  48.             lblTable.Text = "Учет отгрузки";
  49.             dgvShipmentAccounting.DataSource = shipmentaccountingBindingSource;
  50.            
  51.         }
  52.         private void dgvDetails_Click(object sender, EventArgs e)
  53.         {  
  54.             lblTable.Text = "Детали";
  55.             dgvShipmentAccounting.DataSource = detailsshipmentaccountingBindingSource;
  56.         }
  57.         private void btnNext_Click(object sender, EventArgs e)
  58.         {
  59.             int col = dgvDetails.CurrentCell.ColumnIndex;
  60.             int row = dgvDetails.CurrentCell.RowIndex;
  61.  
  62.             if(row<dgvDetails.RowCount - 1)
  63.             {
  64.                 dgvDetails.CurrentCell = dgvDetails[col, row + 1];
  65.             }
  66.         }
  67.  
  68.         private void btnPrev_Click(object sender, EventArgs e)
  69.         {
  70.             int col = dgvDetails.CurrentCell.ColumnIndex;
  71.             int row = dgvDetails.CurrentCell.RowIndex;
  72.             if(row>0)
  73.             {
  74.                 dgvDetails.CurrentCell = dgvDetails[col, row - 1];
  75.             }
  76.         }
  77.  
  78.         private void btnFirst_Click(object sender, EventArgs e)
  79.         {
  80.             int col = dgvDetails.CurrentCell.ColumnIndex;
  81.             dgvDetails.CurrentCell = dgvDetails[col, 0];
  82.         }
  83.  
  84.         private void btnLast_Click(object sender, EventArgs e)
  85.         {
  86.             int col = dgvDetails.CurrentCell.ColumnIndex;
  87.             dgvDetails.CurrentCell = dgvDetails[col, dgvDetails.RowCount-1];
  88.         }
  89.  
  90.         private void btnSave_Click(object sender, EventArgs e)
  91.         {
  92.             try
  93.             {
  94.                 MessageBox.Show("Данные сохранены.");
  95.                 availability_detailsTableAdapter.Update(this.zadanie1DataSet.availability_details);
  96.                 shipment_accountingTableAdapter.Update(this.zadanie1DataSet1.shipment_accounting);
  97.                 detailsTableAdapter.Update(this.zadanie1DataSet1.details);
  98.             }
  99.             catch(Exception ex)
  100.             {
  101.                 MessageBox.Show("Не удалось сохранить. Ошибка: \n" + ex.Message);
  102.             }
  103.         }
  104.  
  105.         private void btnRefresh_Click(object sender, EventArgs e)
  106.         {
  107.             availability_detailsTableAdapter.Fill(this.zadanie1DataSet1.availability_details);
  108.             shipment_accountingTableAdapter.Fill(this.zadanie1DataSet1.shipment_accounting);
  109.             detailsTableAdapter.Fill(this.zadanie1DataSet1.details);
  110.         }
  111.  
  112.         private void performProcedure_Click(object sender, EventArgs e)
  113.         {
  114.            
  115.             labelResult.Visible = true;
  116.             conn = new NpgsqlConnection(connstring);
  117.             conn.Open();
  118.             int id_cust =Int32.Parse(dgvShipmentAccounting.CurrentRow.Cells["idcustomerDataGridViewTextBoxColumn"].Value.ToString());
  119.             sql = @"CALL get_quantity_orders_and_details(:id_cust, :quantity_orders, :quantity_details)";
  120.             cmd = new NpgsqlCommand(sql, conn);
  121.             cmd.Parameters.AddWithValue("id_cust", id_cust);
  122.             cmd.Parameters.AddWithValue("quantity_orders", 0);
  123.             cmd.Parameters.AddWithValue("quantity_details", 0);
  124.             dt = new DataTable();
  125.             dt.Load(cmd.ExecuteReader());
  126.            
  127.             conn.Close();
  128.             DataRow[] rows = dt.Select();
  129.             labelResult.Text = "Количество заказов = " + rows[0][0].ToString() + "\n и деталей = " + rows[0][1].ToString();
  130.             conn.Close();
  131.         }
  132.     }
  133. }
  134.  
Add Comment
Please, Sign In to add comment