Скачиваний:
171
Добавлен:
01.05.2014
Размер:
828.42 Кб
Скачать

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;

}

}

}

}

}

49