- •1.Введение………………………………………...…………………………………...2
- •1. Введение
- •2. Содержательная постановка задачи
- •3. Описание предметной области
- •4. Концептуальная и логическая модель данных
- •4.1. Определение сущностей
- •2. Определение связей между сущностями
- •3. Построение er-диаграммы
- •4. Определение атрибутов, принадлежащих сущностям
- •5. Определение доменов атрибутов
- •6. Инструкция пользователю
- •7. Заключение
- •8. Список используемых источников
7. Заключение
В данной курсовой работе была рассмотрена разработка и реализация информационно-справочной системы «Магазин отделочных материалов». В процессе разработки данной системы неоднократно встречались различные трудности, в первую очередь, связанные с освоением новой технологии доступа к данным Microsoft ADO.NET 2.0 и Microsoft SQL Server. Но благодаря тщательному изучению данной технологии все-таки удалось справиться со всеми трудностями.
Благодаря данной курсовой работе, были изучены принципы организации баз данных, приобретены огромные навыки по проектированию баз данных, а также по разработке и реализации систем управления базами данных с использованием Microsoft ADO.NET и Microsoft SQL Server, а также был изучен язык структурированных запросов к базам данных SQL.
8. Список используемых источников
1. Ватсон К. C#. - М.: Издательство «Лори», 2005. - 879 с.
2. Гамильтон Б. ADO.NET Сборник рецептов. Для профессионалов. - СПб.: Питер, 2005. - 576 с.
3. Малик Сахил. Microsoft ADO.NET 2.0 для профессионалов. - М.: ООО «Вильямс», 2006. - 560 с.
4. Сеппа Д. Программирование на Microsoft ADO.NET 2.0. Мастер-класс. - СПб.: Питер, 2007. - 784 с.
5. Троэлсен Э. Язык программирования C# 2005 и платформа .NET 2.0, 3-е издание.: Пер. с англ. - М.: ООО «Вильямс», 2007. - 1168 с.
Приложение. Листинг программы на языке C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Магазин_Отделочных_Матер
{
public partial class ГлавнаяФорма : Form
{
public DataSet Magazin_DataSet = new DataSet("Магазин");
string[] Таблицы;
int[] Порядок = new int[] { 2, 3, 4, 5, 0, 1, 7, 6 };
public ГлавнаяФорма()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//задание строки подключения
this.SQL_Подключение.ConnectionString = Program.s;
Таблицы = new string[] {"ГруппыТовара","Договоры","ЕдиницыИзмерения",
"Отделы","Поставщики","Производители","Склад","Товар"};
SQL_Команда = SQL_Подключение.CreateCommand();
if (Program.РежимДоступа)
{
//Заполнение таблиц
SQL_Команда.CommandText = "Select * from ТаблицаТовар";
SQL_Адаптер.SelectCommand = SQL_Команда;
SQL_Адаптер.Fill(Magazin_DataSet, "ТаблицаТовар");
SQL_Команда.CommandText = "Select * from ТаблицаСклад";
SQL_Адаптер.SelectCommand = SQL_Команда;
SQL_Адаптер.Fill(Magazin_DataSet, "ТаблицаСклад");
SQL_Команда.CommandText = "Select * from ТаблицаПроизводители";
SQL_Адаптер.SelectCommand = SQL_Команда;
SQL_Адаптер.Fill(Magazin_DataSet, "ТаблицаПроизводители");
SQL_Команда.CommandText = "Select * from ТаблицаПоставщики";
SQL_Адаптер.SelectCommand = SQL_Команда;
SQL_Адаптер.Fill(Magazin_DataSet, "ТаблицаПоставщики");
SQL_Команда.CommandText = "Select * from ТаблицаОтделы";
SQL_Адаптер.SelectCommand = SQL_Команда;
SQL_Адаптер.Fill(Magazin_DataSet, "ТаблицаОтделы");
SQL_Команда.CommandText = "Select * from ТаблицаДоговоры";
SQL_Адаптер.SelectCommand = SQL_Команда;
SQL_Адаптер.Fill(Magazin_DataSet, "ТаблицаДоговоры");
SQL_Команда.CommandText = "Select * from ТаблицаГруппыТовара";
SQL_Адаптер.SelectCommand = SQL_Команда;
SQL_Адаптер.Fill(Magazin_DataSet, "ТаблицаГруппыТовара");
SQL_Команда.CommandText = "Select * from ТаблицаЕдиницыИзмерения";
SQL_Адаптер.SelectCommand = SQL_Команда;
SQL_Адаптер.Fill(Magazin_DataSet, "ТаблицаЕдиницыИзмерения");
// Создание первичных ключей
Magazin_DataSet.Tables["ТаблицаТовар"].PrimaryKey = new DataColumn[] { Magazin_DataSet.Tables["ТаблицаТовар"].Columns["Артикул"] };
Magazin_DataSet.Tables["ТаблицаСклад"].PrimaryKey = new DataColumn[] { Magazin_DataSet.Tables["ТаблицаСклад"].Columns["АртикулТовара"] };
Magazin_DataSet.Tables["ТаблицаПроизводители"].PrimaryKey = new DataColumn[] { Magazin_DataSet.Tables["ТаблицаПроизводители"].Columns["Шифр"] };
Magazin_DataSet.Tables["ТаблицаПоставщики"].PrimaryKey = new DataColumn[] { Magazin_DataSet.Tables["ТаблицаПоставщики"].Columns["НомерЛицензии"] };
Magazin_DataSet.Tables["ТаблицаОтделы"].PrimaryKey = new DataColumn[] { Magazin_DataSet.Tables["ТаблицаОтделы"].Columns["КодОтдела"] };
Magazin_DataSet.Tables["ТаблицаЕдиницыИзмерения"].PrimaryKey = new DataColumn[] { Magazin_DataSet.Tables["ТаблицаЕдиницыИзмерения"].Columns["КодЕдиницы"] };
Magazin_DataSet.Tables["ТаблицаДоговоры"].PrimaryKey = new DataColumn[] { Magazin_DataSet.Tables["ТаблицаДоговоры"].Columns["Номер"] };
Magazin_DataSet.Tables["ТаблицаГруппыТовара"].PrimaryKey = new DataColumn[] { Magazin_DataSet.Tables["ТаблицаГруппыТовара"].Columns["КодГруппы"] };
// Создание отношений между таблицами
Magazin_DataSet.Relations.Add(Magazin_DataSet.Tables["ТаблицаТовар"].Columns["Артикул"], Magazin_DataSet.Tables["ТаблицаСклад"].Columns["АртикулТовара"]);
Magazin_DataSet.Relations.Add(Magazin_DataSet.Tables["ТаблицаПроизводители"].Columns["Шифр"], Magazin_DataSet.Tables["ТаблицаТовар"].Columns["ШифрПроизводителя"]);
Magazin_DataSet.Relations.Add(Magazin_DataSet.Tables["ТаблицаПоставщики"].Columns["НомерЛицензии"], Magazin_DataSet.Tables["ТаблицаДоговоры"].Columns["НомерЛицензииПоставщика"]);
Magazin_DataSet.Relations.Add(Magazin_DataSet.Tables["ТаблицаДоговоры"].Columns["Номер"], Magazin_DataSet.Tables["ТаблицаТовар"].Columns["НомерДоговора"]);
Magazin_DataSet.Relations.Add(Magazin_DataSet.Tables["ТаблицаЕдиницыИзмерения"].Columns["КодЕдиницы"], Magazin_DataSet.Tables["ТаблицаТовар"].Columns["КодЕдиницыИзмерения"]);
Magazin_DataSet.Relations.Add(Magazin_DataSet.Tables["ТаблицаОтделы"].Columns["КодОтдела"], Magazin_DataSet.Tables["ТаблицаГруппыТовара"].Columns["КодОтдела"]);
Magazin_DataSet.Relations.Add(Magazin_DataSet.Tables["ТаблицаГруппыТовара"].Columns["КодГруппы"], Magazin_DataSet.Tables["ТаблицаТовар"].Columns["КодГруппыТовара"]);
ТаблицаПросмотра.DataSource = Magazin_DataSet.Tables["ТаблицаТовар"];
for (int i = 0; i < Таблицы.Length; i++) СписокТаблиц.Items.Add(Таблицы[i]);
СписокТаблиц.Text = "Товар";
}
}
private void СписокТаблиц_SelectedIndexChanged(object sender, EventArgs e)
{
if (Program.РежимДоступа)
{
ТаблицаПросмотра.DataSource = Magazin_DataSet.Tables["Таблица" + Таблицы[СписокТаблиц.SelectedIndex]];
}
if (добавлениеToolStripMenuItem.Checked)
{
Hide_Panels();
switch (СписокТаблиц.SelectedIndex)
{
case 0: ПанельГруппыТовара.Visible = true; break;
case 1: ПанельДоговоры.Visible = true; break;
case 2: ПанельЕдиницыИзмерения.Visible = true; break;
case 3: ПанельОтделы.Visible = true; break;
case 4: ПанельПоставщики.Visible = true; break;
case 5: ПанельПроизводители.Visible = true; break;
case 6: break;
case 7: ПанельТовар.Visible = true; break;
}
}
}
private void КнопкаСохранить_Click(object sender, EventArgs e)
{
/* SqlDataAdapter sqlDA = new SqlDataAdapter("Select * from " + "Таблица" + СписокТаблиц.Text, SQL_Подключение);
SqlCommandBuilder sqlbldr = new SqlCommandBuilder(sqlDA);
sqlDA.UpdateCommand = sqlbldr.GetUpdateCommand();
sqlDA.InsertCommand = sqlbldr.GetInsertCommand();
sqlDA.DeleteCommand = sqlbldr.GetDeleteCommand();
sqlDA.Update(Magazin_DataSet.Tables["Таблица" + СписокТаблиц.Text]); */
if (Program.Модификация)
{
for (int i = 0; i < Таблицы.Length; i++)
{
SqlDataAdapter sqlDA = new SqlDataAdapter("Select * from " + "Таблица" + Таблицы[Порядок[i]], SQL_Подключение);
SqlCommandBuilder sqlbldr = new SqlCommandBuilder(sqlDA);
sqlDA.UpdateCommand = sqlbldr.GetUpdateCommand();
sqlDA.InsertCommand = sqlbldr.GetInsertCommand();
sqlDA.DeleteCommand = sqlbldr.GetDeleteCommand();
sqlDA.Update(Magazin_DataSet.Tables["Таблица" + Таблицы[Порядок[i]]]);
}
Program.Модификация = false;
}
}
private void КнопкаСклад_Click(object sender, EventArgs e)
{
}
private void ГлавнаяФорма_Shown(object sender, EventArgs e)
{
}
private void выходToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void поставщикиToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void КнопкаЗапрос_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable("РезультатЗапроса");
SQL_Команда = SQL_Подключение.CreateCommand();
SQL_Адаптер.SelectCommand = SQL_Команда;
SQL_Адаптер.Fill(dt);
ТаблицаПросмотра.DataSource = dt;
}
private void ГлавнаяФорма_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
private void ГлавнаяФорма_Resize(object sender, EventArgs e)
{
ТаблицаПросмотра.Height = this.ClientSize.Height - 200;
ТаблицаПросмотра.Width = this.ClientSize.Width - 20;
}
void Hide_Panels()
{
ПанельЕдиницыИзмерения.Visible = false;
ПанельОтделы.Visible = false;
ПанельПоставщики.Visible = false;
ПанельПроизводители.Visible = false;
ПанельГруппыТовара.Visible = false;
ПанельДоговоры.Visible = false;
ПанельТовар.Visible = false;
}
private void просмотрToolStripMenuItem_Click(object sender, EventArgs e)
{
просмотрToolStripMenuItem.Checked = true;
редактированиеToolStripMenuItem.Checked = false;
добавлениеToolStripMenuItem.Checked = false;
ТаблицаПросмотра.ReadOnly = true;
ТаблицаПросмотра.RowHeadersVisible = false;
Hide_Panels();
}
private void редактированиеToolStripMenuItem_Click(object sender, EventArgs e)
{
просмотрToolStripMenuItem.Checked = false;
редактированиеToolStripMenuItem.Checked = true;
добавлениеToolStripMenuItem.Checked = false;
ТаблицаПросмотра.ReadOnly = false;
ТаблицаПросмотра.RowHeadersVisible = true;
Hide_Panels();
}
private void добавлениеToolStripMenuItem_Click(object sender, EventArgs e)
{
просмотрToolStripMenuItem.Checked = false;
редактированиеToolStripMenuItem.Checked = false;
добавлениеToolStripMenuItem.Checked = true;
switch (СписокТаблиц.SelectedIndex)
{
case 0: ПанельГруппыТовара.Visible = true; break;
case 1: ПанельДоговоры.Visible = true; break;
case 2: ПанельЕдиницыИзмерения.Visible = true; break;
case 3: ПанельОтделы.Visible = true; break;
case 4: ПанельПоставщики.Visible = true; break;
case 5: ПанельПроизводители.Visible = true; break;
case 6: break;
case 7: ПанельТовар.Visible = true; break;
}
}
private void сохранитьToolStripMenuItem_Click(object sender, EventArgs e)
{
for (int i = 0; i < Таблицы.Length; i++)
{
SqlDataAdapter sqlDA = new SqlDataAdapter("Select * from " + "Таблица" + Таблицы[Порядок[i]], SQL_Подключение);
SqlCommandBuilder sqlbldr = new SqlCommandBuilder(sqlDA);
sqlDA.UpdateCommand = sqlbldr.GetUpdateCommand();
sqlDA.InsertCommand = sqlbldr.GetInsertCommand();
sqlDA.DeleteCommand = sqlbldr.GetDeleteCommand();
sqlDA.Update(Magazin_DataSet.Tables["Таблица" + Таблицы[Порядок[i]]]);
}
}
private void КнопкаНайти_Click(object sender, EventArgs e)
{
string запрос="";
DataTable dt = new DataTable("Поиск");
int k = 0;
SQL_Команда = SQL_Подключение.CreateCommand();
SQL_Команда.CommandText = "select ТаблицаТовар.Артикул, ТаблицаТовар.НаименованиеТовара as Наименование, ТаблицаТовар.ЦенаРеализации as Цена," +
"ТаблицаОтделы.НаименованиеОтдела as Отдел, ТаблицаГруппыТовара.НаименованиеГруппы as Группа, ТаблицаСклад.КоличествоТовара as Количество, (ТаблицаТовар.ЦенаРеализации * ТаблицаСклад.КоличествоТовара)" +
"as Итого from ТаблицаТовар, ТаблицаСклад, ТаблицаОтделы, ТаблицаГруппыТовара where ((ТаблицаТовар.Артикул = ТаблицаСклад.АртикулТовара) and (ТаблицаТовар.КодГруппыТовара = ТаблицаГруппыТовара.КодГруппы) and (ТаблицаГруппыТовара.КодОтдела = ТаблицаОтделы.КодОтдела))";
SQL_Адаптер.SelectCommand = SQL_Команда;
SQL_Адаптер.Fill(dt);
if (checkBox1.Checked)
{
запрос += "and (Наименование like '%" + textBox1.Text + "%')";
k = 1;
}
if (checkBox2.Checked)
{
запрос += "and (Артикул like '%" + textBox2.Text + "%')";
k = 1;
}
if (checkBox3.Checked)
{
запрос += "and (Группа like '%" + textBox3.Text + "%')";
k = 1;
}
if (checkBox4.Checked)
{
запрос += "and (Отдел like '%" + textBox4.Text + "%')";
k = 1;
}
if (checkBox5.Checked)
{
запрос += "and (Цена >= " + numericUpDown1.Value.ToString() + ")";
k = 1;
}
if (checkBox6.Checked)
{
запрос += "and (Цена <= " + numericUpDown2.Value.ToString() + ")";
k = 1;
}
if (k == 0)
{
MessageBox.Show("Необходимо установить параметры запроса!");
return;
}
запрос = запрос.Replace(',', '.');
запрос = запрос.Remove(0, 4);
DataView dview = new DataView(dt);
try
{
dview.RowFilter = запрос;
}
catch (SyntaxErrorException ex)
{
MessageBox.Show("Ошибка " + ex.Message);
return;
}
ФормаРезультатПоиска frm = new ФормаРезультатПоиска(dview);
frm.Show();
}
private void КнопкаНайтиПоставщиков_Click(object sender, EventArgs e)
{
string запрос = "";
DataTable dt = new DataTable("Поиск");
int k = 0;
SQL_Команда = SQL_Подключение.CreateCommand();
SQL_Команда.CommandText = "select ТаблицаПоставщики.*, ТаблицаДоговоры.Номер as НомерДоговора" +
" from ТаблицаПоставщики, ТаблицаДоговоры where (ТаблицаПоставщики.НомерЛицензии = ТаблицаДоговоры.НомерЛицензииПоставщика)";
SQL_Адаптер.SelectCommand = SQL_Команда;
SQL_Адаптер.Fill(dt);
if (checkBox7.Checked)
{
запрос += "and (НомерЛицензии like '%" + textBox5.Text + "%')";
k = 1;
}
if (checkBox8.Checked)
{
запрос += "and (ИНН like '%" + textBox6.Text + "%')";
k = 1;
}
if (checkBox9.Checked)
{
запрос += "and (Город like '%" + textBox7.Text + "%')";
k = 1;
}
if (checkBox10.Checked)
{
запрос += "and (БанковскиеРеквизиты like '%" + textBox8.Text + "%')";
k = 1;
}
if (checkBox11.Checked)
{
запрос += "and (НомерДоговора = " + textBox9.Text + ")";
k = 1;
}
if (k == 0)
{
MessageBox.Show("Необходимо установить параметры запроса!");
return;
}
запрос = запрос.Replace(',', '.');
запрос = запрос.Remove(0, 4);
DataView dview = new DataView(dt);
try
{
dview.RowFilter = запрос;
}
catch (SyntaxErrorException ex)
{
MessageBox.Show("Ошибка " + ex.Message);
return;
}
ФормаРезультатПоиска frm = new ФормаРезультатПоиска(dview);
frm.Show();
}
private void КнопкаНайтиПроизводителей_Click(object sender, EventArgs e)
{
string запрос = "";
DataTable dt = new DataTable("Поиск");
int k = 0;
SQL_Команда = SQL_Подключение.CreateCommand();
SQL_Команда.CommandText = "select * from ТаблицаПроизводители";
SQL_Адаптер.SelectCommand = SQL_Команда;
SQL_Адаптер.Fill(dt);
if (checkBox12.Checked)
{
запрос += "and (Шифр = " + textBox10.Text + ")";
k = 1;
}
if (checkBox13.Checked)
{
запрос += "and (Имя like '%" + textBox11.Text + "%')";
k = 1;
}
if (checkBox14.Checked)
{
запрос += "and (Страна like '%" + textBox12.Text + "%')";
k = 1;
}
if (checkBox15.Checked)
{
запрос += "and (Город like '%" + textBox13.Text + "%')";
k = 1;
}
if (k == 0)
{
MessageBox.Show("Необходимо установить параметры запроса!");
return;
}
запрос = запрос.Replace(',', '.');
запрос = запрос.Remove(0, 4);
DataView dview = new DataView(dt);
try
{
dview.RowFilter = запрос;
}
catch (SyntaxErrorException ex)
{
MessageBox.Show("Ошибка " + ex.Message);
return;
}
ФормаРезультатПоиска frm = new ФормаРезультатПоиска(dview);
frm.Show();
}
private void КнопкаПанельЗапросовЗакрыть_Click(object sender, EventArgs e)
{
ПанельЗапросы.Visible = false;
}
private void запросыToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void поШаблонамToolStripMenuItem_Click(object sender, EventArgs e)
{
ПанельЗапросы.Visible = true;
}
private void произвольныйЗапросToolStripMenuItem_Click(object sender, EventArgs e)
{
ПанельПроизвЗапрос.Visible = true;
}
private void КнопкаПроизвЗапросВыйти_Click(object sender, EventArgs e)
{
ПанельПроизвЗапрос.Visible = false;
}
private void КнопкаПроизвЗапрос_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable("Поиск");
SQL_Команда = SQL_Подключение.CreateCommand();
try
{
SQL_Команда.CommandText = ТекстПроизЗапроса.Text;
SQL_Адаптер.SelectCommand = SQL_Команда;
SQL_Адаптер.Fill(dt);
}
catch (SqlException ex)
{
MessageBox.Show("Ошибка:" + ex.Message);
return;
}
ФормаРезультатПоиска frm = new ФормаРезультатПоиска(dt);
frm.Show();
}
private void button1_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "SQL-запросы | *.txt";
openFileDialog1.InitialDirectory = System.IO.Directory.GetCurrentDirectory();
openFileDialog1.ShowDialog();
ТекстПроизЗапроса.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.PlainText);
}
private void КнопкаСоставитьПрайс_Click(object sender, EventArgs e)
{
string запрос = "";
string price = "";
DataTable dt = new DataTable("Поиск");
int k = 0;
SQL_Команда = SQL_Подключение.CreateCommand();
SQL_Команда.CommandText = "select ТаблицаТовар.Артикул, ТаблицаТовар.НаименованиеТовара as Наименование, ТаблицаТовар.ЦенаРеализации as Цена," +
"ТаблицаОтделы.НаименованиеОтдела as Отдел, ТаблицаГруппыТовара.НаименованиеГруппы as Группа, ТаблицаСклад.КоличествоТовара as Количество, (ТаблицаТовар.ЦенаРеализации * ТаблицаСклад.КоличествоТовара)" +
"as Итого from ТаблицаТовар, ТаблицаСклад, ТаблицаОтделы, ТаблицаГруппыТовара where ((ТаблицаТовар.Артикул = ТаблицаСклад.АртикулТовара) and (ТаблицаТовар.КодГруппыТовара = ТаблицаГруппыТовара.КодГруппы) and (ТаблицаГруппыТовара.КодОтдела = ТаблицаОтделы.КодОтдела))";
SQL_Адаптер.SelectCommand = SQL_Команда;
SQL_Адаптер.Fill(dt);
if (checkBox1.Checked)
{
запрос += "and (Наименование like '%" + textBox1.Text + "%')";
k = 1;
}
if (checkBox2.Checked)
{
запрос += "and (Артикул like '%" + textBox2.Text + "%')";
k = 1;
}
if (checkBox3.Checked)
{
запрос += "and (Группа like '%" + textBox3.Text + "%')";
k = 1;
}
if (checkBox4.Checked)
{
запрос += "and (Отдел like '%" + textBox4.Text + "%')";
k = 1;
}
if (checkBox5.Checked)
{
запрос += "and (Цена >= " + numericUpDown1.Value.ToString() + ")";
k = 1;
}
if (checkBox6.Checked)
{
запрос += "and (Цена <= " + numericUpDown2.Value.ToString() + ")";
k = 1;
}
if (k == 0)
{
MessageBox.Show("Необходимо установить параметры запроса!");
return;
}
запрос = запрос.Replace(',', '.');
запрос = запрос.Remove(0, 4);
DataView dview = new DataView(dt);
dview.RowFilter = запрос;
for (int i = 0; i < dview.Count; i++)
{
price +="Артикул: "+dview[i].Row.ItemArray[0].ToString() + "\n";
price +="Наименование: "+dview[i].Row.ItemArray[1].ToString() + "\n";
price +="Цена: "+dview[i].Row.ItemArray[2].ToString() + " р.\n";
price +="Отдел: "+dview[i].Row.ItemArray[3].ToString() + "\n";
price +="Группа: "+dview[i].Row.ItemArray[4].ToString() + "\n";
price += "=========================================================\n";
}
ФормаВыводОтчета frm = new ФормаВыводОтчета(price);
frm.Show();
}
private void button2_Click(object sender, EventArgs e)
{
DataRow dr = Magazin_DataSet.Tables["ТаблицаЕдиницыИзмерения"].NewRow();
try
{
dr.ItemArray = new string[] { textBox14.Text, textBox15.Text };
}
catch
{
MessageBox.Show("Неправильно введены данные!");
return;
}
try
{
Magazin_DataSet.Tables["ТаблицаЕдиницыИзмерения"].Rows.Add(dr);
}
catch
{
MessageBox.Show("Неправильно введены данные!");
return;
}
textBox14.Text = "";
textBox15.Text = "";
Program.Модификация = true;
}
private void КнопкаДобавитьОтдела_Click(object sender, EventArgs e)
{
DataRow dr = Magazin_DataSet.Tables["ТаблицаОтделы"].NewRow();
try
{
dr.ItemArray = new string[] { textBox16.Text, textBox17.Text };
}
catch
{
MessageBox.Show("Неправильно введены данные!");
return;
}
try
{
Magazin_DataSet.Tables["ТаблицаОтделы"].Rows.Add(dr);
}
catch
{
MessageBox.Show("Неправильно введены данные!");
return;
}
textBox16.Text = "";
textBox17.Text = "";
Program.Модификация = true;
}
private void label11_Click(object sender, EventArgs e)
{
}
private void button3_Click(object sender, EventArgs e)
{
DataRow dr = Magazin_DataSet.Tables["ТаблицаПоставщики"].NewRow();
try
{
dr.ItemArray = new string[] { textBox18.Text, textBox19.Text, textBox20.Text, textBox21.Text, textBox22.Text, textBox23.Text, textBox24.Text };
}
catch
{
MessageBox.Show("Неправильно введены данные!");
return;
}
try
{
Magazin_DataSet.Tables["ТаблицаПоставщики"].Rows.Add(dr);
}
catch
{
MessageBox.Show("Неправильно введены данные!");
return;
}
textBox18.Text = "";
textBox19.Text = "";
textBox20.Text = "";
textBox21.Text = "";
textBox22.Text = "";
textBox23.Text = "";
textBox24.Text = "";
Program.Модификация = true;
}
private void КнопкаПроизводителиДобавить_Click(object sender, EventArgs e)
{
DataRow dr = Magazin_DataSet.Tables["ТаблицаПроизводители"].NewRow();
try
{
dr.ItemArray = new string[] { textBox25.Text, textBox26.Text, textBox27.Text, textBox28.Text, textBox29.Text, textBox30.Text};
}
catch
{
MessageBox.Show("Неправильно введены данные!");
return;
}
try
{
Magazin_DataSet.Tables["ТаблицаПроизводители"].Rows.Add(dr);
}
catch
{
MessageBox.Show("Неправильно введены данные!");
return;
}
textBox25.Text = "";
textBox26.Text = "";
textBox27.Text = "";
textBox28.Text = "";
textBox29.Text = "";
textBox30.Text = "";
Program.Модификация = true;
}
private void КодОтделаВыбрать_Click(object sender, EventArgs e)
{
ФормаРезультатПоиска frm = new ФормаРезультатПоиска(Magazin_DataSet.Tables["ТаблицаОтделы"]);
if (frm.ShowDialog() == DialogResult.OK) textBox33.Text = frm.foreignKey;
}
private void button4_Click(object sender, EventArgs e)
{
DataRow dr = Magazin_DataSet.Tables["ТаблицаГруппыТовара"].NewRow();
try
{
dr.ItemArray = new string[] { textBox31.Text, textBox32.Text, textBox33.Text};
}
catch
{
MessageBox.Show("Неправильно введены данные!");
return;
}
try
{
Magazin_DataSet.Tables["ТаблицаГруппыТовара"].Rows.Add(dr);
}
catch
{
MessageBox.Show("Неправильно введены данные!");
return;
}
textBox31.Text = "";
textBox32.Text = "";
textBox33.Text = "";
Program.Модификация = true;
}
private void ВыбратьПоставщика_Click(object sender, EventArgs e)
{
ФормаРезультатПоиска frm = new ФормаРезультатПоиска(Magazin_DataSet.Tables["ТаблицаПоставщики"]);
if (frm.ShowDialog() == DialogResult.OK) textBox37.Text = frm.foreignKey;
}
private void КнопкаДобавитьДоговор_Click(object sender, EventArgs e)
{
DataRow dr = Magazin_DataSet.Tables["ТаблицаДоговоры"].NewRow();
try
{
dr.ItemArray = new string[] { textBox34.Text, textBox35.Text, textBox36.Text, textBox38.Text, textBox37.Text};
}
catch
{
MessageBox.Show("Неправильно введены данные!");
return;
}
try
{
Magazin_DataSet.Tables["ТаблицаДоговоры"].Rows.Add(dr);
}
catch
{
MessageBox.Show("Неправильно введены данные!");
return;
}
textBox34.Text = "";
textBox35.Text = "";
textBox36.Text = "";
textBox37.Text = "";
textBox38.Text = "";
Program.Модификация = true;
}
private void КнопкаТоварЕдинИзмер_Click(object sender, EventArgs e)
{
ФормаРезультатПоиска frm = new ФормаРезультатПоиска(Magazin_DataSet.Tables["ТаблицаЕдиницыИзмерения"]);
if (frm.ShowDialog() == DialogResult.OK) textBox43.Text = frm.foreignKey;
}
private void КнопкаТоварГруппаТовара_Click(object sender, EventArgs e)
{
ФормаРезультатПоиска frm = new ФормаРезультатПоиска(Magazin_DataSet.Tables["ТаблицаГруппыТовара"]);
if (frm.ShowDialog() == DialogResult.OK) textBox44.Text = frm.foreignKey;
}
private void КнопкаТоварДоговор_Click(object sender, EventArgs e)
{
ФормаРезультатПоиска frm = new ФормаРезультатПоиска(Magazin_DataSet.Tables["ТаблицаДоговоры"]);
if (frm.ShowDialog() == DialogResult.OK) textBox45.Text = frm.foreignKey;
}
private void КнопкаТоварПроизводитель_Click(object sender, EventArgs e)
{
ФормаРезультатПоиска frm = new ФормаРезультатПоиска(Magazin_DataSet.Tables["ТаблицаПроизводители"]);
if (frm.ShowDialog() == DialogResult.OK) textBox46.Text = frm.foreignKey;
}
private void КнопкаТоварДобавить_Click(object sender, EventArgs e)
{
DataRow dr = Magazin_DataSet.Tables["ТаблицаТовар"].NewRow();
try
{
dr.ItemArray = new string[] { textBox39.Text, textBox40.Text, textBox41.Text, textBox42.Text, textBox43.Text, textBox44.Text, textBox45.Text, textBox46.Text };
}
catch
{
MessageBox.Show("Неправильно введены данные!");
return;
}
try
{
Magazin_DataSet.Tables["ТаблицаТовар"].Rows.Add(dr);
}
catch
{
MessageBox.Show("Неправильно введены данные!");
return;
}
DataRow dr1 = Magazin_DataSet.Tables["ТаблицаСклад"].NewRow();
try
{
dr1.ItemArray = new string[] { textBox39.Text, textBox47.Text };
}
catch
{
MessageBox.Show("Неправильно введены данные!");
return;
}
try
{
Magazin_DataSet.Tables["ТаблицаСклад"].Rows.Add(dr1);
}
catch
{
MessageBox.Show("Неправильно введены данные!");
return;
}
textBox39.Text = "";
textBox40.Text = "";
textBox41.Text = "";
textBox42.Text = "";
textBox43.Text = "";
textBox44.Text = "";
textBox45.Text = "";
textBox46.Text = "";
textBox47.Text = "";
Program.Модификация = true;
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Магазин_Отделочных_Матер
{
public partial class ФормаРезультатПоиска : Form
{
public string foreignKey;
public ФормаРезультатПоиска(object rezult)
{
InitializeComponent();
ТаблицаПросмотра.DataSource = rezult;
}
private void кнопкаВыход_Click(object sender, EventArgs e)
{
this.Close();
}
private void ФормаТоварНаСкладе_Shown(object sender, EventArgs e)
{
}
void Select_key()
{
this.DialogResult = DialogResult.OK;
if (ТаблицаПросмотра.SelectedRows != null && ТаблицаПросмотра.RowCount != 0)
foreignKey = ТаблицаПросмотра.SelectedRows[0].Cells[0].Value.ToString();
Close();
}
private void ФормаТоварНаСкладе_Load(object sender, EventArgs e)
{
}
private void ТаблицаПросмотра_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Space) Select_key();
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Магазин_Отделочных_Матер
{
public partial class ФормаПокупатели : Form
{
SqlConnection connect = new SqlConnection(Program.s);
SqlCommand command = new SqlCommand();
SqlDataAdapter adapter = new SqlDataAdapter();
DataTable dt = new DataTable("Товар");
// DataView dv = new DataView();
public ФормаПокупатели()
{
InitializeComponent();
}
private void ФормаПокупатели_Load(object sender, EventArgs e)
{
command = connect.CreateCommand();
command.CommandText = "select ТаблицаТовар.Артикул, ТаблицаТовар.НаименованиеТовара as Наименование, ТаблицаТовар.ЦенаРеализации as Цена," +
"ТаблицаОтделы.НаименованиеОтдела as Отдел, ТаблицаГруппыТовара.НаименованиеГруппы as Группа, ТаблицаСклад.КоличествоТовара as Количество, (ТаблицаТовар.ЦенаРеализации * ТаблицаСклад.КоличествоТовара)" +
"as Итого from ТаблицаТовар, ТаблицаСклад, ТаблицаОтделы, ТаблицаГруппыТовара where ((ТаблицаТовар.Артикул = ТаблицаСклад.АртикулТовара) and (ТаблицаТовар.КодГруппыТовара = ТаблицаГруппыТовара.КодГруппы) and (ТаблицаГруппыТовара.КодОтдела = ТаблицаОтделы.КодОтдела))";
adapter.SelectCommand = command;
adapter.Fill(dt);
ТаблицаПросмотраТовар.DataSource = dt;
// dv.Table = dt;
}
private void ФормаПокупатели_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
private void КнопкаФильтрация_Click(object sender, EventArgs e)
{
DataView dv = new DataView();
dv.Table = dt;
dv.RowFilter = "";
if (checkBox1.Checked)
{
dv.RowFilter += "(Наименование like '%" + ТекстНаименование.Text + "%') ";
}
if (checkBox2.Checked)
{
if (checkBox1.Checked) dv.RowFilter += " and (Отдел like '%" + ТекстОтдел.Text + "%')";
else dv.RowFilter += " (Отдел like '%" + ТекстОтдел.Text + "%')";
}
if (checkBox3.Checked)
{
if (checkBox1.Checked | checkBox2.Checked)
dv.RowFilter += " and (Группа like '%" + ТекстГруппа.Text + "%')";
else dv.RowFilter += "(Группа like '%" + ТекстГруппа.Text + "%')";
}
ТаблицаПросмотраТовар.DataSource = dv;
}
}
}
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace Магазин_Отделочных_Матер
{
public partial class ФормаВход : Form
{
public ФормаВход()
{
InitializeComponent();
}
private void КнопкаВыход_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void КнопкаПокупатель_CheckedChanged(object sender, EventArgs e)
{
НадписьПароль.Visible = false;
ТекстПароль.Visible = false;
}
private void КнопкаРаботник_CheckedChanged(object sender, EventArgs e)
{
НадписьПароль.Visible = true;
ТекстПароль.Visible = true;
ТекстПароль.Text = "";
ТекстПароль_Click(null, null);
}
private void КнопкаВойти_Click(object sender, EventArgs e)
{
if (КнопкаРаботник.Checked)
{
if (ТекстПароль.Text == "123454321")
{
this.Hide();
ГлавнаяФорма frm = new ГлавнаяФорма();
Program.РежимДоступа = true;
frm.Show();
}
else
{
MessageBox.Show("Неправильно ввели пароль!");
ТекстПароль.Text = "";
return;
}
}
else
{
this.Hide();
ФормаПокупатели frm = new ФормаПокупатели();
frm.Show();
}
}
private void ТекстПароль_Click(object sender, EventArgs e)
{
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Магазин_Отделочных_Матер
{
public partial class ФормаВыводОтчета : Form
{
public ФормаВыводОтчета(string price)
{
InitializeComponent();
richTextBox1.Text = price;
}
private void КнопкаСохранитьФайл_Click(object sender, EventArgs e)
{
saveFileDialog1.Filter = "Файл отчета | *.txt";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
richTextBox1.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.PlainText);
}
catch
{
MessageBox.Show("Не могу записать отчет в файл!");
return;
}
}
}
}
}