Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт по лабораторным работам.docx
Скачиваний:
13
Добавлен:
18.11.2022
Размер:
3.07 Mб
Скачать

Лабораторная работа № 9

Задание:

  1. Создать проект, на главной форме проекта создать меню с пунктом Таблица и подпунктами Товары, Компания, Покупатели и Заказы.

  2. Подключить к проекту Nu-get пакет, позволяющий работать с провайдером баз данных PostgreSQL.

  3. Добавить в проект четыре новые формы и озаглавить их соответственно подпунктам главного меню.

  4. Обеспечить отображение в созданных формах данных соответствующих таблиц базы данных PostgreSQL Sale в табличной форме. Сами формы должны вызываться с помощью главного меню.

  5. Обеспечить корректность закрытия всех форм проекта.

  6. Обеспечить возможность корректировки данных во всех таблицах базы данных. Пользователь должен иметь возможность добавлять, удалять данные и исправлять их. Сохранение данных в таблицах реализовать с помощью кнопки Сохранить изменения, которую нанести на каждую из четырех дочерних форм.

Текст программы:

Форма Товары:

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();

}

}

}

Контрольный пример:

Форма Товары:

Форма Компания:

Форам Покупатели:

Форма Заказы: