Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //процедура
- private string connstring = String.Format("Server={0};Port={1};" +
- "User Id={2};Password={3};Database={4};",
- "localhost", 5432, "postgres",
- "Kuzmaiva20025", "Zadanie1");
- private NpgsqlConnection conn;
- private string sql;
- private NpgsqlCommand cmd;
- private DataTable dt;
- private void performProcedure_Click(object sender, EventArgs e)
- {
- labelResult.Visible = true;
- conn = new NpgsqlConnection(connstring);
- conn.Open();
- int id_cust =Int32.Parse(dgvShipmentAccounting.CurrentRow.Cells["idcustomerDataGridViewTextBoxColumn"].Value.ToString());
- sql = @"CALL get_quantity_orders_and_details(:id_cust, :quantity_orders, :quantity_details)";
- cmd = new NpgsqlCommand(sql, conn);
- cmd.Parameters.AddWithValue("id_cust", id_cust);
- cmd.Parameters.AddWithValue("quantity_orders", 0);
- cmd.Parameters.AddWithValue("quantity_details", 0);
- dt = new DataTable();
- dt.Load(cmd.ExecuteReader());
- conn.Close();
- DataRow[] rows = dt.Select();
- labelResult.Text = "Количество заказов = " + rows[0][0].ToString() + "\n и деталей = " + rows[0][1].ToString();
- }
- //альтернативная форма
- //в коде Form1.cs
- private void альтернативнаяToolStripMenuItem1_Click(object sender, EventArgs e)
- {
- Form2 f2 = new Form2();
- f2.Show();
- }
- //сам код альтер формы
- private void Form2_Load(object sender, EventArgs e)
- {
- // TODO: данная строка кода позволяет загрузить данные в таблицу "zadanie1DataSet.shipment_accounting". При необходимости она может быть перемещена или удалена.
- this.shipment_accountingTableAdapter.Fill(this.zadanie1DataSet.shipment_accounting);
- // TODO: данная строка кода позволяет загрузить данные в таблицу "zadanie1DataSet.details". При необходимости она может быть перемещена или удалена.
- this.detailsTableAdapter.Fill(this.zadanie1DataSet.details);
- // TODO: данная строка кода позволяет загрузить данные в таблицу "zadanie1DataSet.availability_details". При необходимости она может быть перемещена или удалена.
- this.availability_detailsTableAdapter.Fill(this.zadanie1DataSet.availability_details);
- dataGridView1.AutoGenerateColumns = true;
- }
- private void button1_Click(object sender, EventArgs e)
- {
- if(lblTableName.Text!="Наличие деталей")
- {
- dataGridView1.Columns.Clear();
- dataGridView1.DataSource = availabilitydetailsBindingSource;
- bindingNavigator1.BindingSource = availabilitydetailsBindingSource;
- lblTableName.Text = "Наличие деталей";
- }
- }
- private void button2_Click(object sender, EventArgs e)
- {
- if (lblTableName.Text != "Учет отгрузки")
- {
- dataGridView1.Columns.Clear();
- dataGridView1.DataSource = shipmentaccountingBindingSource;
- bindingNavigator1.BindingSource = shipmentaccountingBindingSource;
- lblTableName.Text = "Учет отгрузки";
- }
- }
- private void button3_Click(object sender, EventArgs e)
- {
- if (lblTableName.Text != "Детали")
- {
- dataGridView1.Columns.Clear();
- dataGridView1.DataSource = detailsBindingSource;
- bindingNavigator1.BindingSource = detailsBindingSource;
- lblTableName.Text = "Детали";
- }
- }
- private void button4_Click(object sender, EventArgs e)
- {
- tableAdapterManager1.UpdateAll(zadanie1DataSet);
- MessageBox.Show("Изменения сохранены.");
- }
- private void button5_Click(object sender, EventArgs e)
- {
- Close();
- }
- //вариант 1v1 там сам в tableadapter задаешь запрос для метода Fill(), там довольно легко, просто выбираешь нужные таблички, выбираешь что тебе нужно, оно само через inner join их свяжет
- //вариант 1v2
- public void QueryZap1(int kolvo)
- {
- zadanie1DataSet.DataTable1.Clear();
- foreach(Zadanie1DataSet.detailsRow dRows in zadanie1DataSet.details.Rows)
- {
- foreach(Zadanie1DataSet.availability_detailsRow adRows in zadanie1DataSet.availability_details.Rows)
- {
- if(dRows.price_unit_detail > kolvo && dRows.id_detail == adRows.id_detail)
- {
- Zadanie1DataSet.DataTable1Row zRow = zadanie1DataSet.DataTable1.NewDataTable1Row();
- zRow.name_of_detail = dRows.name_of_detail;
- zRow.price_unit_detail = dRows.price_unit_detail;
- zRow.num_warehouse = adRows.num_warehouse;
- zRow.quantity_in_warehouse = adRows.quantity_in_warehouse;
- zadanie1DataSet.DataTable1.Rows.Add(zRow);
- }
- }
- }
- dataGridView1.Refresh();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- QueryZap1(Int32.Parse(textBox1.Text.ToString()));
- }
- //вариант 1v3
- private void QueryZapr2(int kolvo)
- {
- zadanie1DataSet.DataTable1.Clear();
- foreach (Zadanie1DataSet.availability_detailsRow adRows in zadanie1DataSet.availability_details.Rows)
- {
- Zadanie1DataSet.detailsRow dRows = zadanie1DataSet.details.FindByid_detail(adRows.id_detail);
- if (dRows.price_unit_detail > kolvo)
- {
- Zadanie1DataSet.DataTable1Row zRow = zadanie1DataSet.DataTable1.NewDataTable1Row();
- zRow.name_of_detail = dRows.name_of_detail;
- zRow.price_unit_detail = dRows.price_unit_detail;
- zRow.num_warehouse = adRows.num_warehouse;
- zRow.quantity_in_warehouse = adRows.quantity_in_warehouse;
- zadanie1DataSet.DataTable1.Rows.Add(zRow);
- }
- }
- dataGridView1.Refresh();
- }
- //вариант 1v4
- public void QueryZapr3(int kolvo)
- {
- zadanie1DataSet.DataTable1.Clear();
- foreach (Zadanie1DataSet.availability_detailsRow adRows in zadanie1DataSet.availability_details.Rows)
- {
- Zadanie1DataSet.detailsRow dRows = adRows.GetParentRow("details_availability_details") as Zadanie1DataSet.detailsRow;
- if (dRows.price_unit_detail > kolvo)
- {
- Zadanie1DataSet.DataTable1Row zRow = zadanie1DataSet.DataTable1.NewDataTable1Row();
- zRow.name_of_detail = dRows.name_of_detail;
- zRow.price_unit_detail = dRows.price_unit_detail;
- zRow.num_warehouse = adRows.num_warehouse;
- zRow.quantity_in_warehouse = adRows.quantity_in_warehouse;
- zadanie1DataSet.DataTable1.Rows.Add(zRow);
- }
- }
- dataGridView1.Refresh();
- }
- //вариант 1v5
- private void QueryZapr4(int kolvo)
- {
- NpgsqlConnection conn = new NpgsqlConnection(Properties.Settings.Default.Zadanie1ConnectionString);
- conn.Open();
- String sql = @"SELECT details.name_of_detail, details.price_unit_detail, availability_details.num_warehouse, availability_details.quantity_in_warehouse "+
- "FROM availability_details INNER JOIN "+
- "details ON availability_details.id_detail = details.id_detail "+
- "WHERE (details.price_unit_detail > "+kolvo.ToString()+")";
- NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
- NpgsqlDataReader rdr = cmd.ExecuteReader();
- DataTable dt = new DataTable();
- dt.Load(rdr);
- conn.Close();
- BindingSource bs = new BindingSource();
- bs.DataSource = dt;
- dataGridView1.DataSource = bs;
- dataGridView1.Refresh();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement