Лабораторная работа № 9
Задание:
Создать проект, на главной форме проекта создать меню с пунктом Таблица и подпунктами Товары, Компания, Покупатели и Заказы.
Подключить к проекту Nu-get пакет, позволяющий работать с провайдером баз данных PostgreSQL.
Добавить в проект четыре новые формы и озаглавить их соответственно подпунктам главного меню.
Обеспечить отображение в созданных формах данных соответствующих таблиц базы данных PostgreSQL Sale в табличной форме. Сами формы должны вызываться с помощью главного меню.
Обеспечить корректность закрытия всех форм проекта.
Обеспечить возможность корректировки данных во всех таблицах базы данных. Пользователь должен иметь возможность добавлять, удалять данные и исправлять их. Сохранение данных в таблицах реализовать с помощью кнопки Сохранить изменения, которую нанести на каждую из четырех дочерних форм.
Текст программы:
Форма Товары:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Npgsql;
namespace Лабораторная_работа__5
{
public partial class Form12 : Form
{
public Form12()
{
InitializeComponent();
}
NpgsqlConnection NC;
NpgsqlDataAdapter NA;
DataSet ds;
private void Form12_Load(object sender, EventArgs e)
{
string Con;
Con = "Host=192.168.55.2; Database=Sale1;Username=Admin;" + "Password=Qwe88888;Persist Security Info=true";
NC = new NpgsqlConnection(Con);
NC.Open();
string Sel = "SELECT * from public.product";
NA = new NpgsqlDataAdapter(Sel, NC);
ds = new DataSet();
ds.Clear();
NA.Fill(ds, "product");
NC.Close();
dataGrid1.DataSource = ds;
dataGrid1.DataMember = "product";
}
private void button1_Click(object sender, EventArgs e)
{
NpgsqlCommandBuilder bul = new NpgsqlCommandBuilder(NA);
NA.InsertCommand = bul.GetInsertCommand();
NA.DeleteCommand = bul.GetDeleteCommand();
NA.UpdateCommand = bul.GetUpdateCommand();
NC.Open();
DataTable prod = ds.Tables[0];
NA.Update(prod);
NC.Close();
}
}
}
Форма Компания:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Npgsql;
namespace Лабораторная_работа__5
{
public partial class Form13 : Form
{
public Form13()
{
InitializeComponent();
}
NpgsqlConnection NC;
NpgsqlDataAdapter NA;
DataSet ds;
private void Form13_Load(object sender, EventArgs e)
{
string Con;
Con = "Host=192.168.55.2; Database=Sale1;Username=Admin;" + "Password=Qwe88888;Persist Security Info=true";
NC = new NpgsqlConnection(Con);
string Sel = "SELECT * from firm";
NA = new NpgsqlDataAdapter(Sel, NC);
ds = new DataSet();
NC.Open();
ds.Clear();
NA.Fill(ds, "firm");
NC.Close();
dataGrid1.DataSource = ds;
dataGrid1.DataMember = "firm";
}
private void button1_Click(object sender, EventArgs e)
{
NpgsqlCommandBuilder bul = new NpgsqlCommandBuilder(NA);
NA.InsertCommand = bul.GetInsertCommand();
NA.DeleteCommand = bul.GetDeleteCommand();
NA.UpdateCommand = bul.GetUpdateCommand();
NC.Open();
DataTable fir = ds.Tables[0];
NA.Update(fir);
NC.Close();
}
}
}
Форма Покупатели:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Npgsql;
namespace Лабораторная_работа__5
{
public partial class Form14 : Form
{
public Form14()
{
InitializeComponent();
}
NpgsqlConnection NC;
NpgsqlDataAdapter NA;
DataSet ds;
private void Form14_Load(object sender, EventArgs e)
{
string Con;
Con = "Host=192.168.55.2; Database=Sale1;Username=Admin;" + "Password=Qwe88888;Persist Security Info=true";
NC = new NpgsqlConnection(Con);
string Sel = "SELECT * from client";
NA = new NpgsqlDataAdapter(Sel, NC);
ds = new DataSet();
NC.Open();
ds.Clear();
NA.Fill(ds, "client");
NC.Close();
dataGrid1.DataSource = ds;
dataGrid1.DataMember = "client";
}
private void button1_Click(object sender, EventArgs e)
{
NpgsqlCommandBuilder bul = new NpgsqlCommandBuilder(NA);
NA.InsertCommand = bul.GetInsertCommand();
NA.DeleteCommand = bul.GetDeleteCommand();
NA.UpdateCommand = bul.GetUpdateCommand();
NC.Open();
DataTable cli = ds.Tables[0];
NA.Update(cli);
NC.Close();
}
}
}
Форма Заказы:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Npgsql;
namespace Лабораторная_работа__5
{
public partial class Form15 : Form
{
public Form15()
{
InitializeComponent();
}
NpgsqlConnection NC;
NpgsqlDataAdapter NA;
DataSet ds;
private void Form15_Load(object sender, EventArgs e)
{
string Con;
Con = "Host=192.168.55.2; Database=Sale1;Username=Admin;" + "Password=Qwe88888;Persist Security Info=true";
NC = new NpgsqlConnection(Con);
string Sel = "SELECT * from public.order";
NA = new NpgsqlDataAdapter(Sel, NC);
ds = new DataSet();
NC.Open();
ds.Clear();
NA.Fill(ds, "order");
NC.Close();
dataGrid1.DataSource = ds;
dataGrid1.DataMember = "order";
}
private void button1_Click(object sender, EventArgs e)
{
NpgsqlCommandBuilder bul = new NpgsqlCommandBuilder(NA);
NA.InsertCommand = bul.GetInsertCommand();
NA.DeleteCommand = bul.GetDeleteCommand();
NA.UpdateCommand = bul.GetUpdateCommand();
NC.Open();
DataTable or = ds.Tables[0];
NA.Update(or);
NC.Close();
}
}
}
Контрольный пример:
Форма Товары:
Форма Компания:
Форам Покупатели:
Форма Заказы: