Разработка приложения "Программное средство автоматизации книг в библиотеке школы"

Требования к аппаратным и операционным ресурсам. Логическая и физическая организация. Состав основных классов проекта. Технико-экономическое обоснование разработки программного средства. Задержки при обработке данных. Разработка интерфейса приложения.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 16.06.2017
Размер файла 4,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Расчет основной заработной платы по теме приведен в таблице 8.3.

Таблица 8.3 - Расчет затрат на основную заработную плату научно-производственного персонала

Наименование этапов работ

Исполнитель

Разряд

Тарифный

коэффициент

Часовая тарифная ставка, руб.

Трудоемкость,

(чел/час)

Затраты по заработной плате, руб.

Подготовительный

техник-программист

8

2,17

0,30

24

15,5

Выбор методов и средств

техник-

программист

8

2,17

0,30

32

20,67

Разработка алгоритмов и программ

техник-

программист

8

2,17

0,30

144

108,5

Отладка программ и анализ результатов

техник-

программист

8

2,17

0,30

80

51,67

Оформление документации

техник-

программист

8

2,17

0,30

40

25,83

Всего

222,17

Всего с коэффициентом премий (1.1)

288,82

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

(8.3)

где - норматив дополнительной заработной платы, 20%.

Рдз=288,82 Ч 0,2 = 57 руб. 76 коп.

Рассчитываются отчисления органам социальной защиты по формуле

(8.4)

где - норма отчислений в фонд социальной защиты, =34%.

Рос=(288,82+57,76) Ч 0,34 = 117 руб. 84 коп.

Также рассчитываются отчисления на страхование от несчастных случаев на производстве и профессиональных заболеваний (Остр) по ставке действующего законодательства (Нбгс = 0,3% - 0,9%). Для расчетов среднее значение Нбгс принимается равным 0,6%.

Остр = (8.5)

Остр=(288,82+57,76) Ч 0,006 = 2 руб. 8 коп.

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

(8.6)

где - норматив прямых расходов, ? 15%.

Рпр=288,82 Ч 0,15 = 43 руб. 32 коп.

Исчисляются косвенные (накладные) расходы по формуле

(8.7)

где - норматив косвенных расходов, 80%.

Ркос=288,82 Ч 0,5 = 144 руб. 41 коп.

Определяется полная себестоимость научно-технической продукции как сумма всех групп затрат по формуле

(8.8)

Сп=12,98 + 288,82 + 57,76 + 117,84 + 2,08 + 43,32 + 144,41 = 667 руб. 21 коп.

По среднему уровню рентабельности в процентах от полной себестоимости определяется плановая прибыль единицы научно-технической продукции:

(8.9)

где - средний уровень рентабельности, 30%.

П=667,21 Ч 0,2 = 133 руб. 44 коп.

Определяется приближенная (ориентировочная) отпускная цена научно-технической продукции по формуле

(8.10)

Цотп=667,21 + 133,44 = 800 руб. 65 коп.

Определяется налог на добавленную стоимость по формуле

(8.11)

где - ставка налога (НДС), =20%.

НДС=800,65 Ч 0,2 = 160 руб. 13 коп.

Определяется цена научно-технической продукции с учетом НДС по формуле

(8.12)

Цотп=800,65 + 160,13 = 960 руб. 78 коп.

Все приведенные выше расчеты целесообразно объединить в сводную таблицу 8.4

Таблица 8.4- Расчет ориентировочной цены научно-технической продукции

Статьи затрат

Условные обозначения

Сумма, руб.

Материалы, покупные полуфабрикаты и комплектующие изделия

Рм

12,98

Основная заработная плата научно-производственного персонала

Роз

288,82

Дополнительная заработная плата научно-производственного персонала

Рдз

57,76

Отчисления на социальную защиту и на страхование от несчасных случаев

Рос

Остр

117,84

2,08

Прочие прямые расходы

Рпр

43,32

Накладные расходы

Ркос

144,41

Полная себестоимость

Сп

667,21

Плановые накопления (прибыль)

П

133,44

Отпускная цена (без НДС)

Ц

800,65

Налог на добавленную стоимость

РНДС

160,13

Отпускная цена с НДС

ЦОТП

960,78

8.4 Экономическая эффективность разработки

В данном разделе представлено экономическое обоснование для дипломного проекта по теме «Программное средство автоматизации книг в библиотеке школы».

В технико-экономическом обосновании были рассмотрены следующие вопросы:

- составление плана по разработке программного средства;

- расчет стоимости разработки.

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

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

Основное преимущество разработки программного средства - это то, что данное программное средство отличается лучшей функциональностью, чем его аналог «Библиогаф». Данное программное средство отличается простотой в использовании и обслуживании, невысокой стоимостью.

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

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

Исходя из вышеприведенных экономических расчетов, программа конкурентноспособна среди своих аналогов.

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

Заключение

Задание на дипломное проектирование состояло в разработке приложения «Программное средство автоматизации книг в библиотеке школы».

В приложении были реализованы следующие функции:

- ведение соответствующих таблиц базы данных (авторы, книги, издательства, экземпляры книг, сотрудники, выдача книг);

- поиск по критериям пользователя;

- просмотр каталога книг в библиотеке;

- выдача экземпляров книг читателям;

- учет книг на руках, продление срока выдачи книги, пометка о потере книги;

- контроль читателей, не вернувших книги в библиотеку на назначенную дату;

- построение отчетов для анализа работы библиотеки.

Основной задачей, реализованной в приложении, является ведение формуляров читателей с указанием истории выдачи книг.

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

Для библиотекаря необходимыми документами являются отчеты по произведенным операциям за текущий день, месяц, год. В разработанном приложении отчеты формируются по различным критериям пользователя. Имеется возможность экспорта данных из сформированных отчетов в приложения MS Office для дальнейшей обработки.

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

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

Недостатков в работе данного приложения выявлено не было.

Проект был реализован с использованием языка C# и системы управления базами данных Microsoft SQL Server.

В дипломном проекте также рассмотрены вопросы охраны труда и окружающей среды, такие как: правовые, нормативные, социально-экономические и организационные вопросы охраны труда, обеспечение безопасности труда при использовании персональных компьютеров, обеспечение пожарной безопасности, охрана окружающей среды.

В экономическом разделе произведены расчеты экономического эффекта программных средств, расчеты заработной платы исполнителей, была проведена оценка сложности и трудоемкости разработки программного средства, были проведены расчеты всевозможных отчислений и расходов. Стоимость разработки программного средства, составила 960 руб. 78 коп.

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

Список информационных источников

1 Багласова, Т.Г. Методические указания по выполнению дипломного проекта для учащихся по специальности 2-40 01 01 «Программное обеспечение технологий» / Т.Г. Багласова. - Минск: КБП, 2017. - 30 c.

2 Багласова, Т.Г. Методические указания по оформлению курсовых и дипломных проектов / Т.Г. Багласова, К.О. Якимович. - Минск: КБП, 2013. - 29 c.

3 Буч, Гради. Объектно-ориентированный анализ и проектирование. / Гради Буч.- 4-е изд. - М. : Бином, 2012

4 Вендров, А.М. Проектирование программного обеспечения экономических информационных систем: Учебник / А.М. Вендров. - 2-е изд., перераб. и доп.- М. : Финансы и статистика, 2006. -- 544 с.

5 Леоненков, А.В. Объектно-ориентированный анализ и проектирование с использованием UML и IBM Rational Rose / А. В. Леоненков. - М.: Интернет-университет информационных технологий, 2010

6 Ласкавнев, В.П. Охрана труда на предприятиях: Практическое пособие / В.П Ласканев, В.В. Король. - Мн.: Библиотека журнала «Ахова працы»,№2, 2007

7 Лобан, Л.Д. Экономика предприятия: учебный комплекс /Л.Д. Лобан, В.Т. Пыко - Минск : Мисанта, 2006

8 Общие требования к тестовым документам: ГОСТ 2.105-95. - Введ. 01.01.1996. - Минск : Межгос. совет по стандартизации, метрологии и сертификации, 1995. - 84 с.

9 Описание программы. Требования к содержанию, оформлению и контролю качества: ГОСТ 19.402-2000. - Введ. 01.09.2001. - Мн.: Межгос. совет по стандартизации, метрологии и сертификации, 2000. - 14 с.

10 Программа и методика испытаний. Требования к содержанию, оформлению и контролю качества: ГОСТ 19.301-2000. - Введ. 01.09.2001. - Мн.: Межгос. совет по стандартизации, метрологии и сертификации, 2000. - 14 с.

11 Тактайкина Т.И., Анфиногенова Н.М. Книга. Читатель. Библиотека: опыт работ библиотек. - Новосибирск.: НГОНБ, 2008

12 Текст программы. Требования к содержанию, оформлению и контролю качества : ГОСТ 19.401-2000. - Введ. 01.09.2001. - Мн.: Межгос. совет по стандартизации, метрологии и сертификации, 2000. - 16 с.

13 Операционная система Windows 7 [Электронный ресурс] / Википедия.- Фонд Викимедия, 2003. - Режим доступа: http://ru.wikipedia.org/wiki/Windows_7. - Дата доступа.: 27.02.2016

14 Справочник по созданию справки Help & Manual Professional 7.2.0. [Электронный ресурс] / Википедия.- Фонд Викимедия, 2003. -- Режим доступа: http://ru.wikipedia.org/wiki/help&manual. - Дата доступа.: 15.04.2017

15 Среда разработки Visual Studio [Электронный ресурс] / Википедия.- Фонд Викимедия, 2003. - Режим доступа: http://ru.wikipedia.org/wiki/Visual_Studio. - Дата доступа.: 26.02.2017

16 СУБД Microsoft SQL Server [Электронный ресурс] / Википедия.- Фонд Викимедия, 2003. - Режим доступа: http://ru.wikipedia.org/wiki/Microsoft_SQL_Server. - Дата доступа 12.05.2017

17 Язык программирования C# [Электронный ресурс]. /Википедия.- Фонд Викимедия, 2003.- Режим доступа: http://ru.wikipedia.org/wiki/C#. - Дата доступа 2.05.2017

18 Rational Rose [Электронный ресурс]. /Википедия.- Фонд Викимедия, 2003.- Режим доступа: http://ru.wikipedia.org/wiki/Rational_rose. -Дата доступа 02.03.2017

Приложение А

(обязательное)

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

using System; //основная программа

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

namespace Biblio

{

public partial class Form1 : Form

{

public bool gr1, gr2, gr3, gr4, gr5; // глобальные данные для вкладок

private string kodcard;

private bool reestr;

public Form1()

{

InitializeComponent();

}

public void ShowAuth() // метод вывода данных из таблицы авторов

{

authorTableAdapter.Connection.Close();

authorTableAdapter.Connection.Open();

authorTableAdapter.Adapter.SelectCommand.CommandText = "SELECT id_author, fio FROM dbo.Author";

authorTableAdapter.Adapter.SelectCommand.Parameters.Clear();

authorTableAdapter.Adapter.SelectCommand.ExecuteReader();

authorTableAdapter.Connection.Close();

database1DataSet.Author.Clear();

authorTableAdapter.Adapter.Fill(database1DataSet.Author);

if (database1DataSet.Author.Count == 0)

}

public void ShowIzd()

{

publTableAdapter.Connection.Close();

publTableAdapter.Connection.Open();

publTableAdapter.Adapter.SelectCommand.CommandText = "SELECT id_publ, name, city, inf FROM dbo.Publ";

publTableAdapter.Adapter.SelectCommand.Parameters.Clear();

publTableAdapter.Adapter.SelectCommand.ExecuteReader();

publTableAdapter.Connection.Close();

database1DataSet.Publ.Clear();

publTableAdapter.Adapter.Fill(database1DataSet.Publ);

}

public void ShowCateg() //метод вывод данных из таблицы жанров

{

categTableAdapter.Connection.Close();

categTableAdapter.Connection.Open();

categTableAdapter.Adapter.SelectCommand.CommandText = "SELECT id_categ, name, inf FROM dbo.Categ";

categTableAdapter.Adapter.SelectCommand.Parameters.Clear();

categTableAdapter.Adapter.SelectCommand.ExecuteReader();

categTableAdapter.Connection.Close();

database1DataSet.Categ.Clear();

categTableAdapter.Adapter.Fill(database1DataSet.Categ);

}

public void Show4()

{

dataTable11TableAdapter.Connection.Close();

dataTable11TableAdapter.Connection.Open();

//SQL запрос на вывод изданий по категориям

dataTable11TableAdapter.Adapter.SelectCommand.CommandText = "SELECT Book.kodauthor, Book.kodpubl, Book.kodcateg, Book.id_izd, Book.name, Book.year, Book.datereg, " +

"Book.foto, Book.kol, Author.id_author, Author.fio, Categ.name AS Expr1, Categ.id_categ, Publ.name AS Expr2, " +

"Publ.city, Publ.id_publ FROM Book, Author, Categ, Publ WHERE Author.id_author=Book.kodauthor AND " +

"Book.kodcateg=Categ.id_categ AND Book.kodpubl = Publ.id_publ";

dataTable11TableAdapter.Adapter.SelectCommand.Parameters.Clear();

dataTable11TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable11TableAdapter.Connection.Close();

database1DataSet.DataTable11.Clear();

dataTable11TableAdapter.Adapter.Fill(database1DataSet.DataTable11);

}

public void ShowCatIzdAuth()

{

dataTable1TableAdapter.Connection.Close();

dataTable1TableAdapter.Connection.Open();

dataTable1TableAdapter.Adapter.SelectCommand.CommandText="SELECT Book.id_izd, Book.kodauthor, Book.kodpubl, Book.kodcateg, Book.name, Book.year, Book.datereg, "+

"Book.kol, Book.foto, Author.fio, Author.id_author, Publ.id_publ, Publ.name AS Expr1, Publ.city, Publ.inf,"+

" Categ.id_categ, Categ.name AS Expr2, Categ.inf AS Expr3 FROM Book, Author, Publ, Categ WHERE "+

"Book.kodauthor=Author.id_author AND Book.kodpubl=Publ.id_publ AND Book.kodcateg = Categ.id_categ AND "+

"Author.id_author=@KodAuth";

dataTable1TableAdapter.Adapter.SelectCommand.Parameters.Clear();

string s = dataGridView2.CurrentRow.Cells[6].Value.ToString();

dataTable1TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("KodAuth", dataGridView1.CurrentRow.Cells[1].Value);

dataTable1TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable1TableAdapter.Connection.Close();

database1DataSet.DataTable1.Clear();

dataTable1TableAdapter.Adapter.Fill(database1DataSet.DataTable1);

}

public void ShowCatIzdIzd()

//метод вывода экземпляров книг по жанрам

{

this.dataTable2TableAdapter.Fill(this.database1DataSet.DataTable2);

dataTable2TableAdapter.Connection.Close();

dataTable2TableAdapter.Connection.Open();

dataTable2TableAdapter.Adapter.SelectCommand.CommandText = "SELECT Book.id_izd, Book.kodauthor, Book.kodpubl, Book.kodcateg, Book.name, Book.year, Book.datereg, " +

"Book.kol, Book.foto, Author.fio, Author.id_author, Publ.id_publ, Publ.name AS Expr1, Publ.city, Publ.inf," +

" Categ.id_categ, Categ.name AS Expr2, Categ.inf AS Expr3 FROM Book, Author, Publ, Categ WHERE " +

"Book.kodauthor=Author.id_author AND Book.kodpubl=Publ.id_publ AND Book.kodcateg = Categ.id_categ AND " +

"Publ.id_publ=@KodPubl";

dataTable2TableAdapter.Adapter.SelectCommand.Parameters.Clear();

dataTable2TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("KodPubl", dataGridView3.CurrentRow.Cells[3].Value);

dataTable2TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable2TableAdapter.Connection.Close();

database1DataSet.DataTable2.Clear();

dataTable2TableAdapter.Adapter.Fill(database1DataSet.DataTable2);

}

public void ShowCatIzdCat() //метод вывода книг по категориям

{

dataTable3TableAdapter.Connection.Close();

dataTable3TableAdapter.Connection.Open();

dataTable3TableAdapter.Adapter.SelectCommand.CommandText = "SELECT Book.id_izd, Book.kodauthor, Book.kodpubl, Book.kodcateg, Book.name, Book.year, Book.datereg, " +

"Book.kol, Book.foto, Author.fio, Author.id_author, Publ.id_publ, Publ.name AS Expr1, Publ.city, Publ.inf," +

" Categ.id_categ, Categ.name AS Expr2, Categ.inf AS Expr3 FROM Book, Author, Publ, Categ WHERE " +

"Book.kodauthor=Author.id_author AND Book.kodpubl=Publ.id_publ AND Book.kodcateg = Categ.id_categ AND " +

"Categ.id_categ=@KodCat";

dataTable3TableAdapter.Adapter.SelectCommand.Parameters.Clear();

dataTable3TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("KodCat", dataGridView5.CurrentRow.Cells[1].Value);

dataTable3TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable3TableAdapter.Connection.Close();

database1DataSet.DataTable3.Clear();

dataTable3TableAdapter.Adapter.Fill(database1DataSet.DataTable3);

}

public void ShowCatIzd() //метод вывода экземпляров по издательствам

{

dataTable4TableAdapter.Connection.Close();

dataTable4TableAdapter.Connection.Open();

dataTable4TableAdapter.Adapter.SelectCommand.CommandText = "SELECT Book.id_izd, Book.kodauthor, Book.kodpubl, Book.kodcateg, Book.name, Book.year, Book.datereg, " +

"Book.kol, Book.foto, Author.fio, Author.id_author, Publ.id_publ, Publ.name AS Expr1, Publ.city, Publ.inf," +

" Categ.id_categ, Categ.name AS Expr2, Categ.inf AS Expr3 FROM Book, Author, Publ, Categ WHERE " +

"Book.kodauthor=Author.id_author AND Book.kodpubl=Publ.id_publ AND Book.kodcateg = Categ.id_categ";

dataTable4TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable4TableAdapter.Connection.Close();

database1DataSet.DataTable4.Clear();

dataTable4TableAdapter.Adapter.Fill(database1DataSet.DataTable4);

}

public void RegIzd() //метод регистрации книги

{

int n = database1DataSet.Author.Count;

comboBox1.Items.Clear();

if (n > 0)

{

for (int i = 0; i < n; i++)

{

comboBox1.Items.Add(database1DataSet.Author.Rows[i]["fio"]);

}

comboBox1.SelectedIndex = 0;

}

n = database1DataSet.Publ.Count;

comboBox2.Items.Clear();

if (n > 0)

{

for (int i = 0; i < n; i++)

{

comboBox2.Items.Add(database1DataSet.Publ.Rows[i]["name"]);

}

comboBox2.SelectedIndex = 0;

}

n = database1DataSet.Categ.Count;

comboBox3.Items.Clear();

if (n > 0)

{

for (int i = 0; i < n; i++)

{

comboBox3.Items.Add(database1DataSet.Categ.Rows[i]["name"]);

}

comboBox3.SelectedIndex = 0;

}

}

public void ShowPers() //метод вывода данных о читателях

{

persTableAdapter.Connection.Close();

persTableAdapter.Connection.Open();

persTableAdapter.Adapter.SelectCommand.CommandText = "SELECT id_pers, fio, paspdate FROM dbo.Pers";

persTableAdapter.Adapter.SelectCommand.Parameters.Clear();

persTableAdapter.Adapter.SelectCommand.ExecuteReader();

persTableAdapter.Connection.Close();

database1DataSet.Pers.Clear();

persTableAdapter.Adapter.Fill(database1DataSet.Pers);

}

public void ShowEkz() //метод вывода экземпляров книг

{

String kodizd = ""; ;

string connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";

SqlConnection conn = new SqlConnection(connectionString);

using (var cmd = conn.CreateCommand())

{

SqlDataReader myReader = null;

SqlCommand myCommand = new SqlCommand("SELECT Book.id_izd, Book.kodauthor, Book.kodpubl, Book.kodcateg, Book.name, Book.year, Book.datereg, " +

"Book.kol, Book.foto, Author.fio, Author.id_author, Publ.id_publ, Publ.name AS Expr1, Publ.city, Publ.inf," +

" Categ.id_categ, Categ.name AS Expr2, Categ.inf AS Expr3 FROM Book, Author, Publ, Categ WHERE " +

"Book.kodauthor=Author.id_author AND Book.kodpubl=Publ.id_publ AND Book.kodcateg = Categ.id_categ AND " +

"Book.name=@Name", conn);

myCommand.Parameters.Clear();

myCommand.Parameters.AddWithValue("Name", comboBox4.Text);

conn.Open();

myReader = myCommand.ExecuteReader();

while (myReader.Read())

{

kodizd = myReader["id_izd"].ToString();

}

myReader.Close();

conn.Close();

}

ekzTableAdapter.Connection.Close();

ekzTableAdapter.Connection.Open();

ekzTableAdapter.Adapter.SelectCommand.CommandText = "SELECT id_ekz, kodizd, datepost, nreestr, exist FROM dbo.Ekz WHERE kodizd=@kodizd";

ekzTableAdapter.Adapter.SelectCommand.Parameters.Clear();

ekzTableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("kodizd", kodizd);

ekzTableAdapter.Adapter.SelectCommand.ExecuteReader();

ekzTableAdapter.Connection.Close();

database1DataSet.Ekz.Clear();

ekzTableAdapter.Adapter.Fill(database1DataSet.Ekz);

}

public void ShowHistory() //метод вывода истории выдачи экземпляров

{

dataTable6TableAdapter.Connection.Close();

dataTable6TableAdapter.Connection.Open();

dataTable6TableAdapter.Adapter.SelectCommand.CommandText = "SELECT CardTmp.kodekz, CardTmp.kodcard, Ekz.id_ekz, CardTmp.id, Ekz.kodizd, Ekz.nreestr, Book.kodauthor, "+

"Book.name, Book.id_izd, Author.id_author, Author.fio, Card.kodpers, Pers.id_pers, Pers.fio AS Expr1, "+

"Card.id_card, Card.datevyd, Card.datevozv, CardTmp.datefactvozv FROM CardTmp, Ekz, Book, Author, Card, Pers "+

"WHERE Pers.id_pers = Card.kodpers AND Card.id_card = CardTmp.kodcard AND CardTmp.kodekz = Ekz.id_ekz AND "+

"Author.id_author = Book.kodauthor AND Ekz.kodizd = Book.id_izd";

dataTable6TableAdapter.Adapter.SelectCommand.Parameters.Clear();

dataTable6TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable6TableAdapter.Connection.Close();

database1DataSet.DataTable6.Clear();

dataTable6TableAdapter.Adapter.Fill(database1DataSet.DataTable6);

public void ShowHistory1() //метод вывода истории выдачи по ФИО

{

dataTable7TableAdapter.Connection.Close();

dataTable7TableAdapter.Connection.Open();

dataTable7TableAdapter.Adapter.SelectCommand.CommandText = "SELECT CardTmp.kodekz, CardTmp.kodcard, Ekz.id_ekz, CardTmp.id, Ekz.kodizd, Ekz.nreestr, Book.kodauthor, " +

"Book.name, Book.id_izd, Author.id_author, Author.fio, Card.kodpers, Pers.id_pers, Pers.fio AS Expr1, " +

"Card.id_card, Card.datevyd, Card.datevozv, CardTmp.datefactvozv, CardTmp.vozvr FROM CardTmp, Ekz, Book, Author, Card, Pers " +

"WHERE Pers.id_pers = Card.kodpers AND

Card.id_card = CardTmp.kodcard AND CardTmp.kodekz = Ekz.id_ekz AND " +

"Author.id_author = Book.kodauthor AND Ekz.kodizd = Book.id_izd AND CardTmp.vozvr=@vz";

dataTable7TableAdapter.Adapter.SelectCommand.Parameters.Clear();

dataTable7TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("vz", true);

dataTable7TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable7TableAdapter.Connection.Close();

database1DataSet.DataTable7.Clear();

dataTable7TableAdapter.Adapter.Fill(database1DataSet.DataTable7);

if (database1DataSet.DataTable7.Count == 0) { button28.Enabled = false; }

else { button28.Enabled = true; }

}

public void ShowZad() //метод вывода задолженностей по возврату экземпляров

{

dataTable8TableAdapter.Connection.Close();

dataTable8TableAdapter.Connection.Open();

dataTable8TableAdapter.Adapter.SelectCommand.CommandText = "SELECT CardTmp.kodekz, CardTmp.kodcard, Ekz.id_ekz, CardTmp.id, Ekz.kodizd, Ekz.nreestr, Book.kodauthor, " +

"Book.name, Book.id_izd, Author.id_author, Author.fio, Card.kodpers, Pers.id_pers, Pers.fio AS Expr1, " +

"Card.id_card, Card.datevyd, Card.datevozv, CardTmp.datefactvozv, CardTmp.vozvr FROM CardTmp, Ekz, Book, Author, Card, Pers " +

"WHERE Pers.id_pers = Card.kodpers AND Card.id_card = CardTmp.kodcard AND CardTmp.kodekz = Ekz.id_ekz AND " +

"Author.id_author = Book.kodauthor AND Ekz.kodizd = Book.id_izd AND CardTmp.vozvr=@vz AND Card.datevozv<@date";

dataTable8TableAdapter.Adapter.SelectCommand.Parameters.Clear();

dataTable8TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("vz", true);

dataTable8TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("date", DateTime.Today);

dataTable8TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable8TableAdapter.Connection.Close();

database1DataSet.DataTable8.Clear();

dataTable8TableAdapter.Adapter.Fill(database1DataSet.DataTable8);

if (database1DataSet.DataTable8.Count == 0) { button28.Enabled = false; }

else { button28.Enabled = true; }

}

public void SearchBookAuthor(string s) //метод поиска книг по автору

{

dataTable9TableAdapter.Connection.Close();

dataTable9TableAdapter.Connection.Open();

dataTable9TableAdapter.Adapter.SelectCommand.CommandText = "SELECT CardTmp.id, CardTmp.kodekz, CardTmp.kodcard, Ekz.id_ekz, CardTmp.id, Ekz.kodizd, Ekz.nreestr, Book.kodauthor, " +

"Book.name, Book.id_izd, Author.id_author, Author.fio, Card.kodpers, Pers.id_pers, Pers.fio AS Expr1, " +

"Card.id_card, Card.datevyd, Card.datevozv,

CardTmp.datefactvozv, CardTmp.vozvr FROM CardTmp, Ekz, Book, Author, Card, Pers " +

"WHERE Pers.id_pers = Card.kodpers AND Card.id_card = CardTmp.kodcard AND CardTmp.kodekz = Ekz.id_ekz AND " +

"Author.id_author = Book.kodauthor AND Ekz.kodizd = Book.id_izd AND CardTmp.vozvr=@vz AND Author.fio LIKE '"+s+"%'";

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.Clear();

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("vz", true);

// dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("fio", s);

dataTable9TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable9TableAdapter.Connection.Close();

database1DataSet.DataTable9.Clear();

dataTable9TableAdapter.Adapter.Fill(database1DataSet.DataTable9);

if (database1DataSet.DataTable9.Count == 0) gr5 = false;

else gr5 = true;

}

public void SearchZadAuthor(string s) //метод поиска задолженностей по автору

{

dataTable9TableAdapter.Connection.Close();

dataTable9TableAdapter.Connection.Open();

dataTable9TableAdapter.Adapter.SelectCommand.CommandText = "SELECT CardTmp.id, CardTmp.kodekz, CardTmp.kodcard, Ekz.id_ekz, CardTmp.id, Ekz.kodizd, Ekz.nreestr, Book.kodauthor, " +

"Book.name, Book.id_izd, Author.id_author, Author.fio, Card.kodpers, Pers.id_pers, Pers.fio AS Expr1, " +

"Card.id_card, Card.datevyd, Card.datevozv, CardTmp.datefactvozv, CardTmp.vozvr FROM CardTmp, Ekz, Book, Author, Card, Pers " +

"WHERE Pers.id_pers = Card.kodpers AND Card.id_card = CardTmp.kodcard AND CardTmp.kodekz = Ekz.id_ekz AND " +

"Author.id_author = Book.kodauthor AND Ekz.kodizd = Book.id_izd AND CardTmp.vozvr=@vz AND Card.datevozv<@date AND Author.fio LIKE '"+s+"%'";

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.Clear();

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("vz", true);

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("date", DateTime.Today);

dataTable9TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable9TableAdapter.Connection.Close();

database1DataSet.DataTable9.Clear();

dataTable9TableAdapter.Adapter.Fill(database1DataSet.DataTable9);

if (database1DataSet.DataTable9.Count == 0) gr5 = false;

else gr5 = true;

}

public void SearchBookIzd(string s) //метод поиска книги по издательству

{

dataTable9TableAdapter.Connection.Close();

dataTable9TableAdapter.Connection.Open();

dataTable9TableAdapter.Adapter.SelectCommand.CommandText = "SELECT CardTmp.id, CardTmp.kodekz, CardTmp.kodcard, Ekz.id_ekz, CardTmp.id, Ekz.kodizd, Ekz.nreestr, Book.kodauthor, " +

"Book.name, Book.id_izd, Author.id_author, Author.fio, Card.kodpers, Pers.id_pers, Pers.fio AS Expr1, " +

"Card.id_card, Card.datevyd, Card.datevozv, CardTmp.datefactvozv, CardTmp.vozvr FROM CardTmp, Ekz, Book, Author, Card, Pers " +

"WHERE Pers.id_pers = Card.kodpers AND Card.id_card = CardTmp.kodcard AND CardTmp.kodekz = Ekz.id_ekz AND " +

"Author.id_author = Book.kodauthor AND

Ekz.kodizd = Book.id_izd AND CardTmp.vozvr=@vz AND Book.name LIKE '"+s+"%'";

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.Clear();

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("vz", true);

dataTable9TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable9TableAdapter.Connection.Close();

database1DataSet.DataTable9.Clear();

dataTable9TableAdapter.Adapter.Fill(database1DataSet.DataTable9);

if (database1DataSet.DataTable9.Count == 0) gr5 = false;

else gr5 = true;

}

public void SearchZadIzd(string s)

//метод поиска задолженностей по издательству

{

dataTable9TableAdapter.Connection.Close();

dataTable9TableAdapter.Connection.Open();

//Текст SQL запроса на выборку данных по критерию

dataTable9TableAdapter.Adapter.SelectCommand.CommandText = "SELECT CardTmp.id, CardTmp.kodekz, CardTmp.kodcard, Ekz.id_ekz, CardTmp.id, Ekz.kodizd, Ekz.nreestr, Book.kodauthor, " +

"Book.name, Book.id_izd, Author.id_author, Author.fio, Card.kodpers, Pers.id_pers, Pers.fio AS Expr1, " +

"Card.id_card, Card.datevyd, Card.datevozv, CardTmp.datefactvozv, CardTmp.vozvr FROM CardTmp, Ekz, Book, Author, Card, Pers " +

"WHERE Pers.id_pers = Card.kodpers AND Card.id_card = CardTmp.kodcard AND CardTmp.kodekz = Ekz.id_ekz AND " +

"Author.id_author = Book.kodauthor AND Ekz.kodizd = Book.id_izd AND CardTmp.vozvr=@vz AND Card.datevozv<@date AND Book.name LIKE '"+s+"%'";

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.Clear();

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("vz", true);

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("date", DateTime.Today);

dataTable9TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable9TableAdapter.Connection.Close();

database1DataSet.DataTable9.Clear();

dataTable9TableAdapter.Adapter.Fill(database1DataSet.DataTable9);

if (database1DataSet.DataTable9.Count == 0) gr5 = false;

else gr5 = true;

}

public void SearchBookPers(string s) //метод поиска книги по читателю

{

dataTable9TableAdapter.Connection.Close();

dataTable9TableAdapter.Connection.Open();

dataTable9TableAdapter.Adapter.SelectCommand.CommandText = "SELECT CardTmp.id, CardTmp.kodekz, CardTmp.kodcard, Ekz.id_ekz, CardTmp.id, Ekz.kodizd, Ekz.nreestr, Book.kodauthor, " +

"Book.name, Book.id_izd, Author.id_author, Author.fio, Card.kodpers, Pers.id_pers, Pers.fio AS Expr1, " +

"Card.id_card, Card.datevyd, Card.datevozv, CardTmp.datefactvozv, CardTmp.vozvr FROM CardTmp, Ekz, Book, Author, Card, Pers " +

"WHERE Pers.id_pers = Card.kodpers AND Card.id_card = CardTmp.kodcard AND CardTmp.kodekz = Ekz.id_ekz AND " +

"Author.id_author = Book.kodauthor AND Ekz.kodizd = Book.id_izd AND CardTmp.vozvr=@vz AND Pers.fio LIKE '" + s + "%'";

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.Clear();

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("vz", true);

dataTable9TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable9TableAdapter.Connection.Close();

database1DataSet.DataTable9.Clear();

dataTable9TableAdapter.Adapter.Fill(database1DataSet.DataTable9);

if (database1DataSet.DataTable9.Count == 0) gr5 = false;

else gr5 = true;

}

public void SearchZadPers(string s) //метод поиска задолженностей у читателя

{

dataTable9TableAdapter.Connection.Close();

dataTable9TableAdapter.Connection.Open();

dataTable9TableAdapter.Adapter.SelectCommand.CommandText = "SELECT CardTmp.id, CardTmp.kodekz, CardTmp.kodcard, Ekz.id_ekz, CardTmp.id, Ekz.kodizd, Ekz.nreestr, Book.kodauthor, " +

"Book.name, Book.id_izd, Author.id_author, Author.fio, Card.kodpers, Pers.id_pers, Pers.fio AS Expr1, " +

"Card.id_card, Card.datevyd, Card.datevozv, CardTmp.datefactvozv, CardTmp.vozvr FROM CardTmp, Ekz, Book, Author, Card, Pers " +

"WHERE Pers.id_pers = Card.kodpers AND Card.id_card = CardTmp.kodcard AND CardTmp.kodekz = Ekz.id_ekz AND " +

"Author.id_author = Book.kodauthor AND Ekz.kodizd = Book.id_izd AND CardTmp.vozvr=@vz AND Card.datevozv<@date AND Pers.fio LIKE '" + s + "%'";

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.Clear();

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("vz", true);

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("date", DateTime.Today);

dataTable9TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable9TableAdapter.Connection.Close();

database1DataSet.DataTable9.Clear();

dataTable9TableAdapter.Adapter.Fill(database1DataSet.DataTable9);

if (database1DataSet.DataTable9.Count == 0) gr5 = false;

else gr5 = true;

}

public void SearchBookVyd(DateTime date) //поиск книг по дате выдачи

{

dataTable9TableAdapter.Connection.Close();

dataTable9TableAdapter.Connection.Open();

dataTable9TableAdapter.Adapter.SelectCommand.CommandText = "SELECT CardTmp.id, CardTmp.kodekz, CardTmp.kodcard, Ekz.id_ekz, CardTmp.id, Ekz.kodizd, Ekz.nreestr, Book.kodauthor, " +

"Book.name, Book.id_izd, Author.id_author, Author.fio, Card.kodpers, Pers.id_pers, Pers.fio AS Expr1, " +

"Card.id_card, Card.datevyd, Card.datevozv, CardTmp.datefactvozv, CardTmp.vozvr FROM CardTmp, Ekz, Book, Author, Card, Pers " +

"WHERE Pers.id_pers = Card.kodpers AND Card.id_card = CardTmp.kodcard AND CardTmp.kodekz = Ekz.id_ekz AND " +

"Author.id_author = Book.kodauthor AND Ekz.kodizd = Book.id_izd AND CardTmp.vozvr=@vz AND Card.datevyd=@dtvyd";

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.Clear();

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("vz", true);

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("date", DateTime.Today);

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("dtvyd", date);

dataTable9TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable9TableAdapter.Connection.Close();

database1DataSet.DataTable9.Clear();

dataTable9TableAdapter.Adapter.Fill(database1DataSet.DataTable9);

if (database1DataSet.DataTable9.Count == 0) gr5 = false;

else gr5 = true;

}

public void SearchZadVyd(DateTime date) //поиск задолженностей на дату

{

dataTable9TableAdapter.Connection.Close();

dataTable9TableAdapter.Connection.Open();

dataTable9TableAdapter.Adapter.SelectCommand.CommandText = "SELECT CardTmp.id, CardTmp.kodekz, CardTmp.kodcard, Ekz.id_ekz, CardTmp.id, Ekz.kodizd, Ekz.nreestr, Book.kodauthor, " +

"Book.name, Book.id_izd, Author.id_author, Author.fio, Card.kodpers, Pers.id_pers, Pers.fio AS Expr1, " +

"Card.id_card, Card.datevyd, Card.datevozv,

CardTmp.datefactvozv, CardTmp.vozvr FROM CardTmp, Ekz, Book, Author, Card, Pers " +

"WHERE Pers.id_pers = Card.kodpers AND Card.id_card = CardTmp.kodcard AND CardTmp.kodekz = Ekz.id_ekz AND " +

"Author.id_author = Book.kodauthor AND Ekz.kodizd = Book.id_izd AND CardTmp.vozvr=@vz AND Card.datevozv<@date AND Card.datevyd=@dtvyd";

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.Clear();

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("vz", true);

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("date", DateTime.Today);

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("dtvyd", date);

dataTable9TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable9TableAdapter.Connection.Close();

database1DataSet.DataTable9.Clear();

dataTable9TableAdapter.Adapter.Fill(database1DataSet.DataTable9);

if (database1DataSet.DataTable9.Count == 0) gr5 = false;

else gr5 = true;

}

public void SearchBookVozvr(DateTime date) //поиск книг на дату возврата

{

dataTable9TableAdapter.Connection.Close();

dataTable9TableAdapter.Connection.Open();

dataTable9TableAdapter.Adapter.SelectCommand.CommandText = "SELECT CardTmp.id, CardTmp.kodekz, CardTmp.kodcard, Ekz.id_ekz, CardTmp.id, Ekz.kodizd, Ekz.nreestr, Book.kodauthor, " +

"Book.name, Book.id_izd, Author.id_author, Author.fio, Card.kodpers, Pers.id_pers, Pers.fio AS Expr1, " +

"Card.id_card, Card.datevyd, Card.datevozv, CardTmp.datefactvozv, CardTmp.vozvr FROM CardTmp, Ekz, Book, Author, Card, Pers " +

"WHERE Pers.id_pers = Card.kodpers AND Card.id_card = CardTmp.kodcard AND CardTmp.kodekz = Ekz.id_ekz AND " +

"Author.id_author = Book.kodauthor AND Ekz.kodizd = Book.id_izd AND CardTmp.vozvr=@vz AND Card.datevozv=@dtvoz";

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.Clear();

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("vz", true);

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("date", DateTime.Today);

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("dtvoz", date);

dataTable9TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable9TableAdapter.Connection.Close();

database1DataSet.DataTable9.Clear();

dataTable9TableAdapter.Adapter.Fill(database1DataSet.DataTable9);

if (database1DataSet.DataTable9.Count == 0) gr5 = false;

else gr5 = true;

}

public void SearchZadVozvr(DateTime date) //поиск задолженностей на дату

{

dataTable9TableAdapter.Connection.Close();

dataTable9TableAdapter.Connection.Open();

//Текст SQL запроса на выборку данных

dataTable9TableAdapter.Adapter.SelectCommand.CommandText = "SELECT CardTmp.id, CardTmp.kodekz, CardTmp.kodcard, Ekz.id_ekz, CardTmp.id, Ekz.kodizd, Ekz.nreestr, Book.kodauthor, " +

"Book.name, Book.id_izd, Author.id_author, Author.fio, Card.kodpers, Pers.id_pers, Pers.fio AS Expr1, " +

"Card.id_card, Card.datevyd, Card.datevozv, CardTmp.datefactvozv, CardTmp.vozvr FROM CardTmp, Ekz, Book, Author, Card, Pers " +

"WHERE Pers.id_pers = Card.kodpers AND Card.id_card = CardTmp.kodcard AND CardTmp.kodekz = Ekz.id_ekz AND " +

"Author.id_author = Book.kodauthor AND Ekz.kodizd = Book.id_izd AND CardTmp.vozvr=@vz AND Card.datevozv<@date AND Card.datevozv=@dtvoz";

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.Clear();

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("vz", true);

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("date", DateTime.Today);

dataTable9TableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("dtvoz", date);

dataTable9TableAdapter.Adapter.SelectCommand.ExecuteReader();

dataTable9TableAdapter.Connection.Close();

database1DataSet.DataTable9.Clear();

dataTable9TableAdapter.Adapter.Fill(database1DataSet.DataTable9);

if (database1DataSet.DataTable9.Count == 0) gr5 = false;

else gr5 = true;

}

//метод заполнения компонента ComboBox (выбор данных) данными из запроса

public void cmb()

{

string connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";

SqlConnection conn = new SqlConnection(connectionString);

using (var cmd = conn.CreateCommand())

{

SqlDataReader myReader = null;

SqlCommand myCommand = new SqlCommand("SELECT DISTINCT Book.id_izd, Book.name, Ekz.kodizd, Ekz.exist FROM Book,Ekz WHERE Book.id_izd=Ekz.kodizd AND Ekz.exist=@ex", conn);

myCommand.Parameters.AddWithValue("ex", true);

conn.Open();

myReader = myCommand.ExecuteReader();

comboBox5.Items.Clear();

while (myReader.Read())

{

comboBox5.Items.Add(myReader["name"].ToString());

}

if (comboBox5.Items.Count > 0)

{

comboBox5.SelectedIndex = 0;

button23.Enabled = true; }

private void dataGridView2_CellEnter(object sender, DataGridViewCellEventArgs e)

{

pictureBox1.Load(dataGridView2.CurrentRow.Cells[6].Value.ToString());

pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

label2.Text = dataGridView2.CurrentRow.Cells[7].Value.ToString();

label3.Text = dataGridView2.CurrentRow.Cells[0].Value.ToString();

label4.Text = dataGridView2.CurrentRow.Cells[1].Value.ToString();

label5.Text = dataGridView2.CurrentRow.Cells[2].Value.ToString();

label6.Text = dataGridView2.CurrentRow.Cells[3].Value.ToString();

}

// переопределение методов работы с ячейками таблицы для вывода данных

private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)

{

this.dataTable1TableAdapter.Fill(this.database1DataSet.DataTable1);

ShowCatIzdAuth();

}

private void dataGridView3_CellEnter(object sender, DataGridViewCellEventArgs e)

{

this.dataTable2TableAdapter.Fill(this.database1DataSet.DataTable2);

ShowCatIzdIzd();

}

private void dataGridView5_CellEnter(object sender, DataGridViewCellEventArgs e)

{

this.dataTable3TableAdapter.Fill(this.database1DataSet.DataTable3);

ShowCatIzdCat(); //вызов соответствующего метода

}

private void dataGridView4_CellEnter(object sender, DataGridViewCellEventArgs e)

{

pictureBox2.Load(dataGridView4.CurrentRow.Cells[6].Value.ToString());

pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;

label7.Text = dataGridView4.CurrentRow.Cells[0].Value.ToString();

label8.Text = dataGridView4.CurrentRow.Cells[1].Value.ToString();

label9.Text = dataGridView4.CurrentRow.Cells[2].Value.ToString();

label10.Text = dataGridView4.CurrentRow.Cells[7].Value.ToString();

label11.Text = dataGridView4.CurrentRow.Cells[3].Value.ToString();

}

private void dataGridView6_CellEnter(object sender, DataGridViewCellEventArgs e)

{

pictureBox3.Load(dataGridView6.CurrentRow.Cells[6].Value.ToString());

pictureBox3.SizeMode = PictureBoxSizeMode.StretchImage;

label12.Text = dataGridView6.CurrentRow.Cells[0].Value.ToString();

label13.Text = dataGridView6.CurrentRow.Cells[1].Value.ToString();

label14.Text = dataGridView6.CurrentRow.Cells[7].Value.ToString();

label15.Text = dataGridView6.CurrentRow.Cells[2].Value.ToString();

label16.Text = dataGridView6.CurrentRow.Cells[3].Value.ToString();

}

//реализация перехода по вкладкам и выбора вкладки

private void tabControl3_Selecting(object sender, TabControlCancelEventArgs e)

{

switch (e.TabPageIndex)

{

case 0:

textBox1.Text = "";

pictureBox4.Image = null;

groupBox5.Visible = false;

radioButton13.Checked = true;

RegIzd();

break;

case 1:

groupBox8.Visible = false;

textBox2.Text = "";

string connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";

SqlConnection conn = new SqlConnection(connectionString);

using (var cmd = conn.CreateCommand())

{

SqlDataReader myReader = null;

SqlCommand myCommand = new SqlCommand("SELECT id_izd, name FROM Book ORDER BY id_izd", conn);

conn.Open();

myReader = myCommand.ExecuteReader();

comboBox4.Items.Clear();

while (myReader.Read())

{

comboBox4.Items.Add(myReader["name"].ToString());

}

comboBox4.SelectedIndex = 0;

myReader.Close();

conn.Close();

}

radioButton12.Checked = true;

break;

case 2:

radioButton11.Checked = true;

break;

}

}

private void button2_Click(object sender, EventArgs e) //загрузка фото обложки //книги

{

if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)

{

pictureBox4.Load(openFileDialog1.FileName);

pictureBox4.SizeMode = PictureBoxSizeMode.StretchImage;

}

String s = openFileDialog1.FileName; }

private void button5_Click(object sender, EventArgs e)

//вывод данных из таблицы «Жанры изданий»

{

String kodizd = ""; ;

string connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";

SqlConnection conn = new SqlConnection(connectionString);

using (var cmd = conn.CreateCommand())

{

SqlDataReader myReader = null;

SqlCommand myCommand = new SqlCommand("SELECT Book.id_izd, Book.kodauthor, Book.kodpubl, Book.kodcateg, Book.name, Book.year, Book.datereg, " +

"Book.kol, Book.foto, Author.fio, Author.id_author, Publ.id_publ, Publ.name AS Expr1, Publ.city, Publ.inf," +

" Categ.id_categ, Categ.name AS Expr2, Categ.inf AS Expr3 FROM Book, Author, Publ, Categ WHERE " +

"Book.kodauthor=Author.id_author AND Book.kodpubl=Publ.id_publ AND Book.kodcateg = Categ.id_categ AND " +

"Book.name=@Name", conn);

myCommand.Parameters.Clear();

myCommand.Parameters.AddWithValue("Name", comboBox4.Text);

conn.Open();

myReader = myCommand.ExecuteReader();

while (myReader.Read())

{

kodizd = myReader["id_izd"].ToString();

label34.Text = myReader["name"].ToString();

label35.Text = myReader["fio"].ToString();

label36.Text = myReader["Expr1"].ToString();

label37.Text = myReader["Expr2"].ToString();

label38.Text = myReader["year"].ToString();

pictureBox6.Load(myReader["foto"].ToString());

//загрузка фото обложки

pictureBox6.SizeMode = PictureBoxSizeMode.StretchImage;

}

myReader.Close();

conn.Close();

}

ekzTableAdapter.Connection.Close();

ekzTableAdapter.Connection.Open();

ekzTableAdapter.Adapter.SelectCommand.CommandText = "SELECT id_ekz, kodizd, datepost, nreestr, exist FROM dbo.Ekz WHERE kodizd=@kodizd";

ekzTableAdapter.Adapter.SelectCommand.Parameters.Clear();

ekzTableAdapter.Adapter.SelectCommand.Parameters.AddWithValue("kodizd", kodizd);

ekzTableAdapter.Adapter.SelectCommand.ExecuteReader();

ekzTableAdapter.Connection.Close();

database1DataSet.Ekz.Clear();

ekzTableAdapter.Adapter.Fill(database1DataSet.Ekz);

groupBox8.Visible = true;

}

private void button10_Click(object sender, EventArgs e)

{

string s1 = textBox3.Text;

if (s1 == "") //проверка на корректность ввода

{

MessageBox.Show("Ошибка, не все поля заполнены", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

else

{

groupBox9.Visible = false;

string connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";

SqlConnection conn = new SqlConnection(connectionString);

using (var cmd = conn.CreateCommand())

{

if (gr1)

{ //Текст SQL запроса на добавление данных

cmd.CommandText = "INSERT INTO Author(fio) VALUES(@fio)";

cmd.Parameters.Clear();

cmd.Parameters.AddWithValue("fio", s1);

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

ShowAuth();

MessageBox.Show("Запись добавлена", "", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

else //SQL - запрос на обновление данных

{

cmd.CommandText = "UPDATE Author SET fio=@fio WHERE id_author=@id";

cmd.Parameters.Clear();

cmd.Parameters.AddWithValue("fio", s1);

cmd.Parameters.AddWithValue("id", dataGridView9.CurrentRow.Cells[1].Value);

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

ShowAuth();

MessageBox.Show("Запись отредактирована", "", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

}

}

private void button6_Click(object sender, EventArgs e)

{

string s1 = textBox2.Text;

if (s1 == "")

{

MessageBox.Show("Ошибка, не все поля заполнены", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

else

{

groupBox8.Visible = false;

string connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";

SqlConnection conn = new SqlConnection(connectionString);

using (var cmd = conn.CreateCommand())

{

SqlDataReader myReader = null;

//Текст SQL запроса на регистрацию нового экземпляра книги

SqlCommand myCommand = new SqlCommand("SELECT Ekz.id_ekz, Ekz.kodizd, Ekz.nreestr AS rs, Book.name FROM Ekz, Book WHERE Book.name=@name AND Book.id_izd=Ekz.kodizd", conn);

myCommand.Parameters.Clear();

myCommand.Parameters.AddWithValue("name", comboBox4.Text);

conn.Open();

myReader = myCommand.ExecuteReader();

reestr = false;

while (myReader.Read())

{

if (myReader["rs"].ToString() == textBox2.Text) reestr = true;

}

myReader.Close();

conn.Close();

if (reestr)

{

//проверка на корректность вводимых данных

MessageBox.Show("Такой номер в реестре уже есть", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

else

{

myCommand.CommandText = "SELECT id_izd, name, kol FROM Book WHERE name=@name";

myCommand.Parameters.Clear();

myCommand.Parameters.AddWithValue("name", comboBox4.Text);

conn.Open();

myReader = myCommand.ExecuteReader();

string kodizd = "";

int kol = 0;

while (myReader.Read())

{

kodizd = myReader["id_izd"].ToString();

kol = Convert.ToInt32(myReader["kol"].ToString());

}

myReader.Close();

conn.Close();

//Текст SQL запроса на добавление данных

cmd.CommandText = "INSERT INTO Ekz(kodizd, datepost, nreestr, exist) VALUES(@kodizd, @datepost, @nreestr, @exist)";

cmd.Parameters.Clear();

cmd.Parameters.AddWithValue("kodizd", kodizd);

cmd.Parameters.AddWithValue("datepost", dateTimePicker2.Value.Date.ToString("MM.dd.yyyy"));

cmd.Parameters.AddWithValue("nreestr", Convert.ToInt32(textBox2.Text));

cmd.Parameters.AddWithValue("exist", true);

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

kol = kol + 1;

//Текст SQL запроса на обновление данных

cmd.CommandText = "UPDATE Book SET kol=@kol WHERE id_izd=@id";

cmd.Parameters.Clear();

cmd.Parameters.AddWithValue("kol", kol);

cmd.Parameters.AddWithValue("id", kodizd);

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

textBox2.Text = "";

MessageBox.Show("Экземпляр добавлен", "", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

}

}

//формирование выдачи книги

private void button24_Click(object sender, EventArgs e)

{

button24.Enabled = false;

button25.Enabled = false;

dataGridView13.Visible = false;

string connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated

Security=True;User Instance=True";

SqlConnection conn = new SqlConnection(connectionString);

using (var cmd = conn.CreateCommand())

{

if ((kodcard != null) && (kodcard != ""))

{

SqlDataReader myReader = null;

SqlCommand myCommand = new SqlCommand("SELECT Ekz.id_ekz, CardTmp.kodcard, CardTmp.kodekz FROM Ekz, CardTmp WHERE CardTmp.kodekz=Ekz.id_ekz AND CardTmp.kodcard=@kodcard", conn);

myCommand.Parameters.Clear();

myCommand.Parameters.AddWithValue("kodcard", kodcard);

conn.Open();

myReader = myCommand.ExecuteReader();

string kodekz = "";

while (myReader.Read())

{

kodekz = myReader["id_ekz"].ToString();

string connectionString1 = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";

SqlConnection conn1 = new SqlConnection(connectionString1);

using (var cmd1 = conn1.CreateCommand())

{

//Текст SQL запроса на обновление данных

cmd1.CommandText = "UPDATE Ekz SET exist=@ex WHERE id_ekz=@kodekz";

cmd1.Parameters.Clear();

cmd1.Parameters.AddWithValue("ex", true);

cmd1.Parameters.AddWithValue("kodekz", kodekz);

conn1.Open();

cmd1.ExecuteNonQuery();

conn1.Close();

}

}

myReader.Close();

conn.Close();

//Текст SQL запроса на удаление данных

cmd.CommandText = "DELETE FROM CardTmp WHERE kodcard=@id";

cmd.Parameters.Clear();

cmd.Parameters.AddWithValue("id", kodcard);

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

cmd.CommandText = "DELETE FROM Card WHERE id_card=@id";

cmd.Parameters.Clear();

cmd.Parameters.AddWithValue("id", kodcard);

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

}

kodcard = Guid.NewGuid().ToString();

cmd.CommandText = "INSERT INTO Card(id_card) VALUES(@id)";

cmd.Parameters.Clear();

cmd.Parameters.AddWithValue("id", kodcard);

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

}

cmb();

private void button32_Click(object sender, EventArgs e)

//поиск данных о читателе

{

button30.Enabled = true;

persTableAdapter.Connection.Close();

persTableAdapter.Connection.Open();

persTableAdapter.Adapter.SelectCommand.CommandText = "SELECT id_pers, fio, paspdate FROM dbo.Pers WHERE fio LIKE '" + textBox14.Text + "%'";

persTableAdapter.Adapter.SelectCommand.Parameters.Clear();

persTableAdapter.Adapter.SelectCommand.ExecuteReader();

persTableAdapter.Connection.Close();

database1DataSet.Pers.Clear();

persTableAdapter.Adapter.Fill(database1DataSet.Pers);

if (database1DataSet.Pers.Count == 0)

{

ShowPers();

button30.Enabled = false;

//выдача сообщения о результатах поиска

MessageBox.Show("Ничего не найдено", "", MessageBoxButtons.OK, MessageBoxIcon.Information);


Подобные документы

  • Анализ предметной области. Средства и технологии разработки программного обеспечения. Требования к аппаратным и операционным ресурсам. Создание навигационного меню. Структура данных таблиц. Разработка интерфейса модуля. Сортировка и фильтрация данных.

    дипломная работа [3,7 M], добавлен 12.05.2018

  • Содержание и требования, предъявляемые к информации. Требования к аппаратным и операционным ресурсам. Проектирование справочной системы приложения. Входные и выходные данные. Описание программного средства. Проведение функционального тестирования.

    курсовая работа [814,5 K], добавлен 24.01.2016

  • Область применения и требования создаваемого Web-приложения. Требования к техническому и программному обеспечению. Разработка структуры Web-приложения и выбор средств программной реализации. Программная реализация Web-приложения. Структура базы данных.

    дипломная работа [1,4 M], добавлен 03.06.2014

  • Формирование входных и выходных данных, SQL–скрипт генерации таблиц базы данных. Создание интерфейса программного приложения и проектирование форм базы данных. Требования к аппаратно–программному обеспечению. Инструкции по установке и эксплуатации.

    курсовая работа [1,6 M], добавлен 08.02.2013

  • Разработка программного приложения WindowsForms для работы с базой данных на языке высокого уровня C# в автономном режиме с использованием ADO.NET. Проектирование реляционной модели базы данных, интерфейса приложения, основных функций и возможностей.

    курсовая работа [4,3 M], добавлен 30.06.2015

  • Создание программного приложения для осуществления основных функций по заказу мебели, регистрации клиентов, сотрудничеству с поставщиками. Разработка интерфейса прикладной программы. Логическое проектирование базы данных и SQL-скрипт генерации таблиц.

    курсовая работа [2,4 M], добавлен 11.02.2013

  • Создание Win-приложения для библиотеки, которое позволяло бы осуществлять операции выдачи и сдачи книг в соответствии со сроками. Выбор программных и технических средств реализации проекта. Разработка интерфейса системы, описание реализованных классов.

    курсовая работа [3,1 M], добавлен 14.08.2015

  • Характеристика объекта автоматизации. Создание многоуровневой архитектуры приложения, отладка метода безошибочной идентификации пользователей системы. Разработка нестандартного метода преобразования объектов базы данных в объекты классов приложения.

    курсовая работа [395,4 K], добавлен 28.04.2015

  • Спецификация требований к разрабатываемому приложению. Разработка структурной схемы интерфейса. Описание алгоритма шифрования DES. Разработка программного кода приложения "DES". Проведение исследования основных шагов для генерации ключей и шифрования.

    курсовая работа [398,4 K], добавлен 13.12.2022

  • Разработка базы данных и приложения для автоматизации ведения кадрового учёта предприятия. Формирование таблицы анкетных данных. Разработка графического интерфейса пользователя клиентских приложений. Возможность подключения к удаленной базе данных.

    дипломная работа [47,6 K], добавлен 17.02.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.