
- •Липецкий государственный технический университет
- •Задание кафедры
- •Содержание
- •Введение
- •Основная часть
- •1 Техническое задание
- •1.1 Описание предметной области
- •1.2 Модель вариантов использования
- •2 Технический (эскизный) проект
- •2.2.3 Спецификация связей
- •2.3 Физическая модель базы данных
- •2.3.1 Диаграмма физической модели
- •2.3.2 Спецификация таблиц
- •2.4 Основные запросы к базе данных
- •2.4.1 Формулировка на естественном языке
- •2.4.2 Формулировка в виде выражения реляционной алгебры
- •2.5 Хранимые процедуры
- •3 Рабочий проект
- •3.4.4 Вызов и загрузка
- •3.4.5. Описание работы с программой
- •3.4.6. Данные
- •3.4.7 Сообщения
- •Заключение
- •Список источников
- •Приложение 1. Sql-скрипт создания бд
- •Приложение 2. Текст программы
- •Приложение 3. Графическая часть
Приложение 2. Текст программы
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 System.Data.SqlClient;
using System.Data.OracleClient;
namespace SQL_idz_дубль2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
OracleConnection ThisConnection = new OracleConnection("Data Source=positron-note; User id=dbWeb; Password=1234;");
ThisConnection.Open();
OracleCommand thisCommand = ThisConnection.CreateCommand();
thisCommand.CommandText = "SELECT E.\"maket_link\", CASE WHEN H.\"url\" IS NULL THEN '-' " +
"ELSE H.\"url\" END AS \"url\", T.\"type_name\", Z.\"cost\" FROM \"Zakaz\" Z INNER JOIN " +
"(SELECT * FROM \"Execution\" E1 WHERE E1.\"date_end\" = (SELECT MAX(E2.\"date_end\") " +
"FROM \"Execution\" E2 WHERE E2.\"zakaz_id\" = E1.\"zakaz_id\")) E ON E.\"zakaz_id\" = " +
"Z.\"zakaz_id\" INNER JOIN \"Type\" T ON T.\"type_id\" = Z.\"type_id\" LEFT JOIN \"Hosting\" H " +
"ON H.\"EXECUTION_ID\" = E.\"execution_id\" AND H.\"date_end_support\" > SYSDATE " +
"WHERE Z.\"date_pay\" IS NOT NULL AND Z.\"cost\" > '" + numericUpDown1.Value + "' " +
"ORDER BY Z.\"zakaz_id\" ASC, E.\"date_end\" DESC";
DataTable tab = new DataTable();
tab.Load(thisCommand.ExecuteReader());
dataGridView1.Columns.Clear();
dataGridView1.DataSource = tab.DefaultView;
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.DataTable1". При необходимости она может быть перемещена или удалена.
this.DataTable1TableAdapter.Fill(this.dataSet3.DataTable1);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Zakaz". При необходимости она может быть перемещена или удалена.
this.zakazTableAdapter1.Fill(this.dataSet3.Zakaz);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Hosting". При необходимости она может быть перемещена или удалена.
this.hostingTableAdapter1.Fill(this.dataSet3.Hosting);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Remark". При необходимости она может быть перемещена или удалена.
this.remarkTableAdapter1.Fill(this.dataSet3.Remark);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Worker". При необходимости она может быть перемещена или удалена.
this.workerTableAdapter1.Fill(this.dataSet3.Worker);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Capacity". При необходимости она может быть перемещена или удалена.
this.capacityTableAdapter1.Fill(this.dataSet3.Capacity);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Type". При необходимости она может быть перемещена или удалена.
this.typeTableAdapter1.Fill(this.dataSet3.Type);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Execution". При необходимости она может быть перемещена или удалена.
this.executionTableAdapter1.Fill(this.dataSet3.Execution);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Manager". При необходимости она может быть перемещена или удалена.
this.managerTableAdapter1.Fill(this.dataSet3.Manager);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Client". При необходимости она может быть перемещена или удалена.
this.clientTableAdapter1.Fill(this.dataSet3.Client);
this.reportViewer1.RefreshReport();
}
private void button11_Click(object sender, EventArgs e)
{
OracleConnection ThisConnection = new OracleConnection("Data Source=positron-note; User id=dbWeb; Password=1234;");
ThisConnection.Open();
OracleCommand thisCommand = ThisConnection.CreateCommand();
thisCommand.CommandType = CommandType.StoredProcedure;
thisCommand.CommandText = "upddisc";
thisCommand.Parameters.Add("param1", numericUpDown3.Value);
thisCommand.Parameters.Add("param2", numericUpDown4.Value);
thisCommand.Parameters.Add("param3", numericUpDown5.Value);
thisCommand.ExecuteNonQuery();
MessageBox.Show("Запрос выполнен!");
}
private void button2_Click(object sender, EventArgs e)
{
zakazTableAdapter1.Update(dataSet3.Zakaz);
MessageBox.Show("Done!");
}
private void button3_Click(object sender, EventArgs e)
{
capacityTableAdapter1.Update(dataSet3.Capacity);
MessageBox.Show("Done!");
}
private void button4_Click(object sender, EventArgs e)
{
workerTableAdapter1.Update(dataSet3.Worker);
MessageBox.Show("Done!");
}
private void button5_Click(object sender, EventArgs e)
{
clientTableAdapter1.Update(dataSet3.Client);
MessageBox.Show("Done!");
}
private void button6_Click(object sender, EventArgs e)
{
typeTableAdapter1.Update(dataSet3.Type);
MessageBox.Show("Done!");
}
private void button7_Click(object sender, EventArgs e)
{
managerTableAdapter1.Update(dataSet3.Manager);
MessageBox.Show("Done!");
}
private void button8_Click(object sender, EventArgs e)
{
hostingTableAdapter1.Update(dataSet3.Hosting);
MessageBox.Show("Done!");
}
private void button9_Click(object sender, EventArgs e)
{
remarkTableAdapter1.Update(dataSet3.Remark);
MessageBox.Show("Done!");
}
private void button10_Click(object sender, EventArgs e)
{
executionTableAdapter1.Update(dataSet3.Execution);
MessageBox.Show("Done!");
}
private void button12_Click(object sender, EventArgs e)
{
OracleConnection ThisConnection = new OracleConnection("Data Source=positron-note; User id=dbWeb; Password=1234;");
ThisConnection.Open();
OracleCommand thisCommand = ThisConnection.CreateCommand();
thisCommand.CommandType = CommandType.StoredProcedure;
thisCommand.CommandText = "deleteclient";
thisCommand.ExecuteNonQuery();
MessageBox.Show("Запрос выполнен!");
}
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.DataTable1". При необходимости она может быть перемещена или удалена.
this.DataTable1TableAdapter.Fill(this.dataSet3.DataTable1);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Zakaz". При необходимости она может быть перемещена или удалена.
this.zakazTableAdapter1.Fill(this.dataSet3.Zakaz);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Hosting". При необходимости она может быть перемещена или удалена.
this.hostingTableAdapter1.Fill(this.dataSet3.Hosting);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Remark". При необходимости она может быть перемещена или удалена.
this.remarkTableAdapter1.Fill(this.dataSet3.Remark);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Worker". При необходимости она может быть перемещена или удалена.
this.workerTableAdapter1.Fill(this.dataSet3.Worker);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Capacity". При необходимости она может быть перемещена или удалена.
this.capacityTableAdapter1.Fill(this.dataSet3.Capacity);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Type". При необходимости она может быть перемещена или удалена.
this.typeTableAdapter1.Fill(this.dataSet3.Type);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Execution". При необходимости она может быть перемещена или удалена.
this.executionTableAdapter1.Fill(this.dataSet3.Execution);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Manager". При необходимости она может быть перемещена или удалена.
this.managerTableAdapter1.Fill(this.dataSet3.Manager);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet3.Client". При необходимости она может быть перемещена или удалена.
this.clientTableAdapter1.Fill(this.dataSet3.Client);
this.reportViewer1.RefreshReport();
}
}
}