Разработка СУБД для управления деятельностью по поставкам и реализации ювелирных изделий

 

Содержание


Введение

Анализ предметной области

1. Разработка модели данных

2. Разработка интерфейса пользователя

3. Отладка, анализ результатов

Заключение

Список использованных источников

Приложения

Введение


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

В связи с этим, в области разработки программного обеспечения выделяют отдельное направление - проектирование баз данных.

На ранних этапах развития этого направления вся ответственность за целостность хранимых данных, защиту от несанкционированного доступа к ним, добавление новых данных или обновления существующих возлагалась на программиста. Однако впоследствии стали создаваться специальные программные комплексы, способные решать эти задачи самостоятельно.

Системой управления базами данных называют программную систему, предназначенную для создания на ЭВМ общей базы данных, используемой для решения множества задач. Подобные системы служат для поддержания базы данных в актуальном состоянии и обеспечивают эффективный доступ пользователей к содержащимся в ней данным в рамках предоставленных пользователям полномочий.

СУБД предназначена для централизованного управления базой данных в интересах всех работающих в этой системе.

По степени универсальности различают два класса СУБД:

  • системы общего назначения;
  • специализированные системы.

Специализированные СУБД создаются в редких случаях при невозможности или нецелесообразности использования СУБД общего назначения. [2]

СУБД общего назначения - это сложные программные комплексы, предназначенные для выполнения всей совокупности функций, связанных с созданием и эксплуатацией базы данных информационной системы. [4]

Используемые в настоящее время СУБД обладают средствами обеспечения целостности данных и надежной безопасности, что дает возможность разработчикам гарантировать большую безопасность данных при меньших затратах сил на низкоуровневое программирование. Продукты, функционирующие в среде WINDOWS, выгодно отличаются удобство пользовательского интерфейса и встроенными средствами повышения производительности. [4]

СУБД, ориентированные на разработчиков, обладают развитыми средствами для создания приложений. К элементам инструментария разработки приложений можно отнести:

  • мощные языки программирования;
  • средства реализации меню, экранных форм ввода-вывода данных и генерации отчетов;
  • средства генерации приложений (прикладных программ);
  • генерацию исполнимых файлов.

Функциональные возможности моделей данных доступны пользователю СУБД благодаря ее языковым средствам. [2]

Реализация языковых средств интерфейсов может быть осуществлена различными способами. Для высококвалифицированных пользователей (разработчиков сложных прикладных систем) языковые средства чаще всего представляются в их явной синтаксической форме. В других случаях функции языков могут быть доступны косвенным образом, когда они реализуются в форме различного рода меню, диалоговых сценариев или заполняемых пользователем таблиц. По таким входным данным интерфейсные средства формируют адекватные синтаксические конструкции языка интерфейса и передают их на исполнение или включают в генерируемый программный код приложения. Интерфейсы с неявным использованием языка широко используются в СУБД для персональных ЭВМ. [4]

Анализ предметной области

Рассмотрим следующую предметную область: поставка и реализация ювелирных изделий.

Существуют поставщики и производители продукции. Продукция поставляется в магазины и делится на типы (кольца, серьги, цепочки и т.д.), а также может изготавливаться из различных металлов и камней. Клиенты покупают изделия в магазинах.

1. Разработка модели данных


В предыдущем пункте была проанализирована предметная область и выделены сущности для проектирования базы данных. Теперь рассмотрим структуру таблиц, описывающих эти сущности, и разработаем модель данных "сущность-связь".

В таблице "Продукция" должны содержаться поля:

  • Идентификатор продукции;
  • Имя продукции;
  • Идентификатор поставщика;
  • Идентификатор производителя;
  • Цена продукции;

Кроме этого, продукция будет иметь определенный тип, и материал из которого изготовлена. Поэтому таблица будет иметь три внешних ключа.

В таблице "Магазины" будут поля: "Идентификатор магазина" как первичный ключ и "Имя магазина". В нее должен входить внешний ключ из таблицы "Shop_ex".

В таблицах "Поставщики" и "Производители" будут такие поля как "Имя" и "Идентификатор". В них должны входить внешние ключи из таблицы "Продукция".

Рассмотрим таблицы "Металлы", "Камни" и "Типы". В них должны входить внешние ключи из таблицы "Type_ex" и иметь следующие поля: "Идентификатор" и "Имя".

После определения типов данных физическая и логическая модели будут выглядеть следующим образом:


управление база интерфейс пользователь

Рис.1. Логическая модель базы данных


Рис.2. Физическая модель базы данных


2. Разработка интерфейса пользователя


Интерфейс пользователя разработан на языке С#. Работа с пользователем происходит следующим образом. Пользователь загружает приложение и на экран выводится окно авторизации, в котором можно ввести имя пользователя, пароль доступа к базе данных и IP-адрес сервера MySQL, на котором хранится база данных (см. рис.3).


Рис.3. Вкладка авторизации


После нажатия на кнопку "Подключиться" производится обращение к БД. В случае правильного ввода логина и пароля, появляется сообщение "Подключение произошло успешно!!!", что означает о разрешении дальнейшей работы.

После корректного подключения переходим ко вкладке "Представления".

На этой странице можно просмотреть все имеющиеся представления (см. рис.4).


Рис.4. Просмотр представлений


На вкладке "Продукция" можно просмотреть данные о типе, поставщиках и производителях продукции, а также добавить или удалить данные из таблицы "Продукция" (см. рис.4).


Рис.4. Вкладка "Продукция"


Для удаления данных необходимо указать идентификатор продукта и нажать кнопку "Удалить".


Аналогичным образом происходит добавление или удаление записей в других таблицах.

Во вкладке "Хранимая процедура" отображён пример работы с хранимыми процедурами. (см. рис.6)


Рис.6. Пример работы хранимой процедуры


3. Отладка, анализ результатов


В ходе данной рабы возникало множество проблем с приведением типов, что отобразилось на скорости выполнения работы.

Также наблюдается большое количество недостатков, в частности нет логической связи хранимой процедуры с предметной областью.

Все эти факторы повлияли на результат выполнения работы и на ее качество. Приложение нельзя назвать завершенным, можно лишь сказать, что оно положило начало программированию на С# для автора этой работы.

Заключение


В результате проделанной работы получилась реляционная база данных, поддерживаемая СУБД MySQL, в которой содержится 10 таблиц, 2 представления, 1 хранимая процедура (см. приложение 1). В этих таблицах содержатся сведения о сущностях предметной области "Поставка и реализация ювелирных изделий": продукции, магазинах, клиентах, поставщиках, производителях и т.д. В каждой из этих таблиц содержится некоторое количество записей, необходимых для проверки работоспособности приложения, разработанного на С# специально для администрирования созданной базы данных.

Это приложение содержит в себе множество уязвимостей в исходном коде. Однако целью данной работы не является идеализировать конечный результат, а лишь глубже изучить технологии проектирования баз данных и разработки приложений для управления их содержимым.

На текущий момент эта цель достигнута, поэтому выполнение данной работы завершено.

Список использованных источников


  1. Агуров П.В. С#. Разработка компонентов в MS Visual Studio 2005/2008,-СПб.: БХВ-Петербург, 2008. - 480с.: ил.
  2. Астахова И.Ф. SQL в примерах и задачах: Учеб. Пособие / И.Ф. Астахова, А.П. Толстобров, В.М. Мельников. - Мн.: Новое знание, 2002. - 176 с.
  3. Ватсон Карли. С# Wrox Press Ltd. Arden House, 1102 Warwick Road, Acocks Green, Birmingham, B27 6 BH, UK 2001. - 879c.: ил.
  4. Моисеенко С.И. SQL. Задачи и решения. - СПб.: Питер, 2006. - 256сю: ил.
  5. Павловская Т.А. C#. Программирование на я зыке высокого уровня. Учебник для вузов. - СПб.: Питер, 2007-432с.: ил

Приложения


Приложение 1


Дамп базы данных

/*

MySQL Data TransferHost: localhostDatabase: kursHost: localhostDatabase: kurs: 29.12.2008 9: 48: 14

*/FOREIGN_KEY_CHECKS=0;

--------------------------structure for clients

--------------------------TABLE IF EXISTS `clients`;TABLE `clients` (

`ID` int (11) NOT NULL AUTO_INCREMENT,

`Shop_ex_ID` int (11) DEFAULT NULL,

`Name_client` varchar (20) DEFAULT NULL,KEY (`ID`),`FK_1` (`Shop_ex_ID`),`FK_1` FOREIGN KEY (`Shop_ex_ID`) REFERENCES `shop_ex` (`ID`) ON DELETE SET NULL ON UPDATE CASCADE

) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=koi8r;

--------------------------structure for manufacturer

--------------------------TABLE IF EXISTS `manufacturer`;TABLE `manufacturer` (

`ID` int (11) NOT NULL AUTO_INCREMENT,

`Name_manufacturer` varchar (20) DEFAULT NULL,KEY (`ID`)

) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=koi8r;

--------------------------structure for metall

--------------------------TABLE IF EXISTS `metall`;TABLE `metall` (

`ID` int (11) NOT NULL AUTO_INCREMENT,

`Name_metall` varchar (20) DEFAULT NULL,KEY (`ID`)

) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=koi8r;

--------------------------structure for production

--------------------------TABLE IF EXISTS `production`;TABLE `production` (

`ID` int (11) NOT NULL AUTO_INCREMENT,

`Name` varchar (20) DEFAULT NULL,

`Type_ex_ID` int (11) DEFAULT NULL,

`ID_supplier` int (11) DEFAULT NULL,

`ID_manufacturer` int (11) DEFAULT NULL,

`Price` int (11) DEFAULT NULL,KEY (`ID`),`FK_7` (`Type_ex_ID`),`FK_8` (`ID_supplier`),`FK_10` (`ID_manufacturer`),`FK_8` FOREIGN KEY (`ID_supplier`) REFERENCES `suppliers` (`ID`) ON DELETE SET NULL ON UPDATE CASCADE,`FK_10` FOREIGN KEY (`ID_manufacturer`) REFERENCES `manufacturer` (`ID`) ON DELETE SET NULL ON UPDATE CASCADE,`FK_7` FOREIGN KEY (`Type_ex_ID`) REFERENCES `type_ex` (`ID`) ON DELETE SET NULL ON UPDATE CASCADE

) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=koi8r;

--------------------------structure for shop

--------------------------TABLE IF EXISTS `shop`;TABLE `shop` (

`ID` int (11) NOT NULL AUTO_INCREMENT,

`Name_shop` varchar (20) DEFAULT NULL,KEY (`ID`)

) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=koi8r;

--------------------------structure for shop_ex

--------------------------TABLE IF EXISTS `shop_ex`;TABLE `shop_ex` (

`ID` int (11) NOT NULL AUTO_INCREMENT,

`Shop_ID` int (11) DEFAULT NULL,

`Production_ID` int (11) DEFAULT NULL,

`Comments` varchar (50) DEFAULT NULL,KEY (`ID`),`FK_2` (`Shop_ID`),`FK_3` (`Production_ID`),`FK_3` FOREIGN KEY (`Production_ID`) REFERENCES `production` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE,`FK_2` FOREIGN KEY (`Shop_ID`) REFERENCES `shop` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE

) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=koi8r;

--------------------------structure for stone

--------------------------TABLE IF EXISTS `stone`;TABLE `stone` (

`ID` int (11) NOT NULL AUTO_INCREMENT,

`Name_stone` varchar (20) DEFAULT NULL,KEY (`ID`)

) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=koi8r;

--------------------------structure for suppliers

--------------------------TABLE IF EXISTS `suppliers`;TABLE `suppliers` (

`ID` int (11) NOT NULL AUTO_INCREMENT,

`Name_suppliers` varchar (20) DEFAULT NULL,KEY (`ID`)

) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=koi8r;

--------------------------structure for test

--------------------------TABLE IF EXISTS `test`;TABLE `test` (

`ID` int (11) NOT NULL AUTO_INCREMENT,

`ts` int (11) DEFAULT NULL,KEY (`ID`)

) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;

--------------------------structure for type

--------------------------TABLE IF EXISTS `type`;TABLE `type` (

`ID` int (11) NOT NULL AUTO_INCREMENT,

`Name_type` varchar (20) DEFAULT NULL,KEY (`ID`)

) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=koi8r;

--------------------------structure for type_ex

--------------------------TABLE IF EXISTS `type_ex`;TABLE `type_ex` (

`ID` int (11) NOT NULL AUTO_INCREMENT,

`Type_ID` int (11) DEFAULT NULL,

`Metall_ID` int (11) DEFAULT NULL,

`Metall_weight` int (11) DEFAULT NULL,

`Stone_ID` int (11) DEFAULT NULL,

`Stone_weight` int (11) DEFAULT NULL,KEY (`ID`),`FK_4` (`Type_ID`),`FK_5` (`Metall_ID`),`FK_6` (`Stone_ID`),`FK_6` FOREIGN KEY (`Stone_ID`) REFERENCES `stone` (`ID`) ON DELETE SET NULL ON UPDATE CASCADE,`FK_4` FOREIGN KEY (`Type_ID`) REFERENCES `type` (`ID`) ON DELETE SET NULL ON UPDATE CASCADE,`FK_5` FOREIGN KEY (`Metall_ID`) REFERENCES `metall` (`ID`) ON DELETE SET NULL ON UPDATE CASCADE

) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=koi8r;

--------------------------structure for v_prod

--------------------------VIEW IF EXISTS `v_prod`;ALGORITHM=UNDEFINED DEFINER=`root`@`%` SQL SECURITY DEFINER VIEW `v_prod` AS select `production`. `ID` AS `ID`,`production`. `Name` AS `Name`,`manufacturer`. `Name_manufacturer` AS `Name_manufacturer`,`metall`. `Name_metall` AS `Name_metall`,`type_ex`. `Metall_weight` AS `Metall_weight`,`stone`. `Name_stone` AS `Name_stone`,`type_ex`. `Stone_weight` AS `Stone_weight`,`suppliers`. `Name_suppliers` AS `Name_suppliers`,`type`. `Name_type` AS `Name_type` from ( ( ( ( ( (`production` join `manufacturer`) join `suppliers`) join `type_ex`) join `type`) join `metall`) join `stone`) where ( (`production`. `Type_ex_ID` = `type_ex`. `ID`) and (`production`. `ID_supplier` = `suppliers`. `ID`) and (`production`. `ID_manufacturer` = `manufacturer`. `ID`) and (`type_ex`. `Type_ID` = `type`. `ID`) and (`type_ex`. `Metall_ID` = `metall`. `ID`) and (`type_ex`. `Stone_ID` = `stone`. `ID`) and (_utf8'' = _utf8''));

--------------------------structure for v_shop_ex

--------------------------VIEW IF EXISTS `v_shop_ex`;ALGORITHM=UNDEFINED DEFINER=`root`@`%` SQL SECURITY DEFINER VIEW `v_shop_ex` AS select `shop_ex`. `ID` AS `ID`,`shop`. `Name_shop` AS `Name_shop`,`production`. `Name` AS `Name`,`production`. `Price` AS `Price` from ( (`shop_ex` join `shop`) join `production`) where ( (`shop_ex`. `Shop_ID` = `shop`. `ID`) and (`production`. `ID` = `shop_ex`. `Production_ID`)) order by `shop`. `Name_shop`;

--------------------------structure for Stored_pr

--------------------------PROCEDURE IF EXISTS `Stored_pr`;;;DEFINER=`root`@`localhost` PROCEDURE `Stored_pr` ()p1 INT DEFAULT 0;production. ID into p1 FROM production where production. Price= 1500;into test (ts) values (p1);;;;

--------------------------

--------------------------INTO `clients` VALUES ('1', null, 'Karlenok');INTO `clients` VALUES ('2', null, 'Kozak');INTO `clients` VALUES ('3', null, 'Sobko');INTO `clients` VALUES ('4', null, 'Lapuhin');INTO `manufacturer` VALUES ('1', 'ZIKO');INTO `manufacturer` VALUES ('2', 'Bel-Zoloto');INTO `manufacturer` VALUES ('3', 'Golden_maiden');INTO `manufacturer` VALUES ('5', 'MegaZord');INTO `metall` VALUES ('1', 'Р-РѕР"ото');INTO `metall` VALUES ('2', 'Серебро');INTO `metall` VALUES ('3', 'РџР"атина');INTO `production` VALUES ('1', 'Ring', '1', '1', '1', '369');INTO `production` VALUES ('2', 'Jewel', '3', '2', '3', '896');INTO `production` VALUES ('5', 'Mega_gold', '3', '1', '2', '1500');INTO `shop` VALUES ('1', 'ZIKO-1');INTO `shop` VALUES ('2', 'Shop3');INTO `shop` VALUES ('3', 'BelTrans');INTO `shop` VALUES ('5', 'GoldenMaiden');INTO `shop_ex` VALUES ('1', '1', '2', '4');INTO `shop_ex` VALUES ('2', '2', '1', '4fg');INTO `shop_ex` VALUES ('3', '1', '1', null);INTO `shop_ex` VALUES ('4', '3', '2', null);INTO `shop_ex` VALUES ('5', '2', '2', null);INTO `shop_ex` VALUES ('8', '5', '5', null);INTO `stone` VALUES ('1', 'РђР"маз');INTO `stone` VALUES ('2', 'РСЂРёР"иант');INTO `stone` VALUES ('3', 'Кремний');INTO `suppliers` VALUES ('1', 'Finger LTD');INTO `suppliers` VALUES ('2', 'Ribon Master');INTO `suppliers` VALUES ('3', 'JSeven');INTO `suppliers` VALUES ('5', 'Arm Corp');INTO `test` VALUES ('1', '5');INTO `test` VALUES ('2', '5');INTO `test` VALUES ('3', '5');INTO `test` VALUES ('4', '5');INTO `test` VALUES ('5', '5');INTO `test` VALUES ('6', '5');INTO `test` VALUES ('7', '5');INTO `test` VALUES ('8', '5');INTO `type` VALUES ('1', 'РљРѕР"ьцо');INTO `type` VALUES ('2', 'Серьга');INTO `type` VALUES ('3', 'Цепочка');INTO `type` VALUES ('5', 'Braslet');INTO `type_ex` VALUES ('1', '1', '1', '50', '1', '50');INTO `type_ex` VALUES ('2', '2', '2', '100', '2', '33');INTO `type_ex` VALUES ('3', '3', '3', '45', '1', '45');INTO `type_ex` VALUES ('4', '1', '2', '34', '3', '20');

Приложение 2


Form1. cs

using System;System. Collections. Generic;System.componentModel;System. Data;System. Drawing;System. Linq;System. Text;System. Windows. Forms;MySql. Data. MySqlClient;Kursova9_Den

{partial class Form1: Form

{x = new Int16 ();MySqlCommand cmd;DataTable data;MySqlDataAdapter da;MySqlCommandBuilder cb;MySqlConnection conn;string connStr;Form1 ()

{();

}void button1_Click (object sender, EventArgs e)

{= String. Format ("server={0}; uid={1}; pwd={2}; database={3}",. textBox1. Text, this. textBox2. Text, this. maskedTextBox1. Text, this. textBox3. Text);= new MySqlConnection (connStr);

{. Open ();. Show ("Подключение прошло успешно!!!!", "Курсовая");

// Заполняем Вкладку Предстовления

{sql = "show full tables where table_type like 'VIEW'; ";= new DataTable ();= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);(int i = 0; i < this. data. Rows. Count; i++)

{.comboBox1. Items. Insert (i, this. data. Rows [i]. Field<string> (0). ToString ());

}

}

}(Exception ex)

{. Show ("Exception: " + ex. Message);

}

}void comboBox1_SelectedIndexChanged (object sender, EventArgs e)

{sql = String. Format ("select * from {0}; ",this.comboBox1. Text);

// MessageBox. Show (sql);= new DataTable ();= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;

}void tabControl1_Selected (object sender, TabControlEventArgs e)

{(e. TabPageIndex)

{1:

{.comboBox1. Text = this.comboBox1. Items [0]. ToString ();

} break;2:

{

// Clientssql = String. Format ("select * from {0};", "v_shop_ex");= new DataTable ();= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);_ex. DataSource = data;_ex. Sort (shop_ex. Columns [1], ListSortDirection. Ascending);

// Clients= String. Format ("select * from {0};", "clients");= new DataTable ();= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;

} break;3:

{

// Типы Продуктовsql = String. Format ("select * from {0};", "type");= new DataTable ();= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;

// Поставщики= String. Format ("select * from {0};", "suppliers");= new DataTable ();= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;

// Производители= String. Format ("select * from {0};", "manufacturer");= new DataTable ();= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;

// Продукты= String. Format ("select * from {0};", "production");= new DataTable ();= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;. Sort (dataGridView4. Columns [0], ListSortDirection. Ascending);

} break;4:

{sql = String. Format ("select * from {0};", "shop");= new DataTable ();= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;

} break;5:

{sql = String. Format ("select * from {0};", "suppliers");= new DataTable ();= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;

} break;6:

{sql = String. Format ("select * from {0};", "manufacturer");= new DataTable ();= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;

} break;7:

{sql = String. Format ("select * from {0};", "type");= new DataTable ();= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;

} break;8:

{

// Продуктыsql = String. Format ("select * from {0};", "v_prod");= new DataTable ();= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;. Sort (dataGridView10. Columns [0], ListSortDirection. Ascending);

// Shops= String. Format ("select * from {0};", "shop");= new DataTable ();= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;. Sort (dataGridView11. Columns [0], ListSortDirection. Ascending);

// v_Shop_Ex= String. Format ("select * from {0};", "v_shop_ex");= new DataTable ();= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;. Sort (dataGridView12. Columns [0], ListSortDirection. Ascending);

} break;

}

}

// Addvoid button3_Click (object sender, EventArgs e)

{sql = String. Format ("insert into {0} (shop_ex_id,name_client) values ('{2}','{1}')", "clients", textBox4. Text, textBox5. Text);

{= new MySqlCommand (sql, conn);. ExecuteNonQuery ();

}(Exception ex)

{. Show ("Exception: " + ex. Message);

}= new DataTable ();= String. Format ("select * from {0};", "clients");= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;

}

// Deletevoid button2_Click (object sender, EventArgs e)

{= new DataTable ();sql = String. Format ("delete from {0} where ({1}={2}); ","clients","ID",textBox6. Text);= new MySqlDataAdapter (sql, conn);= new MySqlCommandBuilder (da);. Fill (data);= new DataTable ();= String. Format ("select * from {0};", "clients");= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;

}

// add prodvoid button4_Click (object sender, EventArgs e)

{sql = String. Format ("insert into {0} (name,type_ex_id, id_manufacturer, id_supplier,price) values ('{1}','{2}','{3}','{4}','{5}')", "production",. Text, textBox7. Text, textBox8. Text, textBox9. Text, textBox11. Text);

{= new MySqlCommand (sql, conn);. ExecuteNonQuery ();

}(Exception ex)

{. Show ("Exception: " + ex. Message);

}= new DataTable ();= String. Format ("select * from {0};", "v_prod");= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;. Sort (dataGridView4. Columns [0], ListSortDirection. Ascending);

}

// Deleting prodvoid button5_Click (object sender, EventArgs e)

{= new DataTable ();sql = String. Format ("delete from {0} where ({1}={2});", "production", "ID", textBox13. Text);= new MySqlDataAdapter (sql, conn);= new MySqlCommandBuilder (da);. Fill (data);= new DataTable ();= String. Format ("select * from {0};", "v_prod");= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;. Sort (dataGridView4. Columns [0], ListSortDirection. Ascending);

}

// Shop Delvoid button6_Click (object sender, EventArgs e)

{= new DataTable ();sql = String. Format ("delete from {0} where ({1}={2});", "shop", "ID", textBox14. Text);= new MySqlDataAdapter (sql, conn);= new MySqlCommandBuilder (da);. Fill (data);= new DataTable ();= String. Format ("select * from {0};", "shop");= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;. Sort (dataGridView6. Columns [0], ListSortDirection. Ascending);

}

// Shop Addvoid button7_Click (object sender, EventArgs e)

{sql = String. Format ("insert into {0} (name_shop) values ('{1}')", "shop",textBox15. Text);

{= new MySqlCommand (sql, conn);. ExecuteNonQuery ();

}(Exception ex)

{. Show ("Exception: " + ex. Message);

}= new DataTable ();= String. Format ("select * from {0};", "shop");= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;. Sort (dataGridView6. Columns [0], ListSortDirection. Ascending);

}

// Del Postavvoid button9_Click (object sender, EventArgs e)

{= new DataTable ();sql = String. Format ("delete from {0} where ({1}={2});", "suppliers", "ID", textBox17. Text);= new MySqlDataAdapter (sql, conn);= new MySqlCommandBuilder (da);. Fill (data);= new DataTable ();= String. Format ("select * from {0};", "suppliers");= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;. Sort (dataGridView7. Columns [0], ListSortDirection. Ascending);

}

// Add Postavvoid button8_Click (object sender, EventArgs e)

{sql = String. Format ("insert into {0} (name_suppliers) values ('{1}')", "suppliers", textBox16. Text);

{= new MySqlCommand (sql, conn);. ExecuteNonQuery ();

}(Exception ex)

{. Show ("Exception: " + ex. Message);

}= new DataTable ();= String. Format ("select * from {0};", "suppliers");= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;. Sort (dataGridView7. Columns [0], ListSortDirection. Ascending);

}

// Del Производителяvoid button11_Click (object sender, EventArgs e)

{= new DataTable ();sql = String. Format ("delete from {0} where ({1}={2});", "manufacturer", "ID", textBox19. Text);= new MySqlDataAdapter (sql, conn);= new MySqlCommandBuilder (da);. Fill (data);= new DataTable ();= String. Format ("select * from {0};", "manufacturer");= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;. Sort (dataGridView8. Columns [0], ListSortDirection. Ascending);

}

// Add Производителяvoid button10_Click (object sender, EventArgs e)

{sql = String. Format ("insert into {0} (name_manufacturer) values ('{1}')", "manufacturer", textBox18. Text);

{= new MySqlCommand (sql, conn);. ExecuteNonQuery ();

}(Exception ex)

{. Show ("Exception: " + ex. Message);

}= new DataTable ();= String. Format ("select * from {0};", "manufacturer");= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;. Sort (dataGridView8. Columns [0], ListSortDirection. Ascending);

}

// Del Typevoid button13_Click (object sender, EventArgs e)

{= new DataTable ();sql = String. Format ("delete from {0} where ({1}={2});", "type", "ID", textBox21. Text);= new MySqlDataAdapter (sql, conn);= new MySqlCommandBuilder (da);. Fill (data);= new DataTable ();= String. Format ("select * from {0};", "type");= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;. Sort (dataGridView9. Columns [0], ListSortDirection. Ascending);

}void button12_Click (object sender, EventArgs e)

{sql = String. Format ("insert into {0} (name_type) values ('{1}')", "type", textBox20. Text);

{= new MySqlCommand (sql, conn);. ExecuteNonQuery ();

}(Exception ex)

{. Show ("Exception: " + ex. Message);

}= new DataTable ();= String. Format ("select * from {0};", "type");= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;. Sort (dataGridView9. Columns [0], ListSortDirection. Ascending);

}void button14_Click (object sender, EventArgs e)

{= new DataTable ();sql = String. Format ("delete from {0} where ({1}={2});", "shop_ex", "ID", textBox22. Text);= new MySqlDataAdapter (sql, conn);= new MySqlCommandBuilder (da);. Fill (data);= new DataTable ();= String. Format ("select * from {0};", "v_shop_ex");= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;. Sort (dataGridView12. Columns [0], ListSortDirection. Ascending);

}void button15_Click (object sender, EventArgs e)

{sql = String. Format ("insert into {0} (shop_id,production_id) values ('{1}','{2}')", "shop_ex", textBox23. Text, textBox24. Text);

{= new MySqlCommand (sql, conn);. ExecuteNonQuery ();

}(Exception ex)

{. Show ("Exception: " + ex. Message);

}= new DataTable ();= String. Format ("select * from {0};", "v_shop_ex");= new MySqlDataAdapter (sql, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;. Sort (dataGridView12. Columns [0], ListSortDirection. Ascending);

}void button16_Click (object sender, EventArgs e)

{s_test= ("call Stored_pr (); ");= new MySqlDataAdapter (s_test, connStr);= new MySqlCommandBuilder (da);. Fill (data);= new DataTable ();sql_d = "select * from kurs. test; ";= new MySqlDataAdapter (sql_d, connStr);= new MySqlCommandBuilder (da);. Fill (data);. DataSource = data;

}

}

}


Содержание Введение Анализ предметной области 1. Разработка модели данных 2. Разработка интерфейса пользователя 3. Отладка, анализ результато

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ