База данных "Тюрьма"

Разработка базы данных "Тюрьма" для управления информацией, повышение оперативности выдачи информации, добавления и хранения информации о заключенных, охранниках и обслуживающем персонале. Использование языка Java, среды разработки NetBeans и СУБД Derby.

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

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

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

Размещено на http://www.allbest.ru/

Негосударственное образовательное учреждение высшего профессионального образования

«Региональный открытый социальный институт»

Кафедра Информатики, вычислительной техники и автоматизации

Курсовая работа

по дисциплине: Базы данных

База данных «Тюрьма»

Студента 3 курса, очной формы

обучения, группы: ВТ12о

инженерно-технологического

факультета Шум И. А.

Научный руководитель:

ст. пр-ль Дятлова Л. В.

Оглавление

Введение

Глава 1. Анализ требований к разрабатываемой программе

1.1 Описание сферы применения

1.2 Описание компании заказчика

1.3 Постановка задачи

1.4 Минимальные системные требования

Глава 2. Проектирование

2.1 Интерфейс главного меню

2.2 Окно просмотра списка заключенных

2.3 Окно просмотра списка обслуживающего персонала

2.4 Окно просмотра списка обслуживающего персонала

2.5 Перечень добавленных компонентов

Глава 3. Реализация программы «Тюрьма»

3.1 Содержимое базы данных

3.2 Выбор языка программирования

3.3 Выбор среды разработки

3.4 Выбор СУБД

Заключение

Список литературы

Приложения

Введение

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

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

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

1) анализ требований;

2) проектирование программы;

3) реализация программы «Тюрьма»

Глава 1. Анализ требований к разрабатываемой программе

1.1 Описание сферы применения

Данная программа будет применяться в тюрьмах. В последние годы контингент спецучреждения изменился: осужденные «помолодели», стали более дерзкими. С каждым годом растет число осужденных, поступающих в исправительную колонию №2, с крайне низким образовательным уровнем, а то и вовсе неграмотных. Много осужденных, которые не имеют семьи, постоянного места жительства, страдают различными заболеваниями. Более половины из них, не имеют никаких профессиональных и трудовых навыков, либо их утратили.

В ИК №2 созданы необходимые коммунально-бытовые условия для содержания осужденных. Осужденные проживают в довольно просторных кирпичных общежитиях. В спальных помещениях стоят двухъярусные и одноярусные койки. Имеются душевые кабинки, комнаты для сушки одежды, и хранения личных вещей. Есть кухни для чаепития, а также залы с телевизором и DVD.

Исправительное учреждение ФКУ ИК №2 УФСИН России по Курской области имеет собственное производство. Большое внимание уделяется трудовой адаптации осужденных. В ходе реформирования производственного сектора исправительного учреждения, государственное унитарное предприятие было преобразовано в Центр трудовой адаптации осужденных (ЦТАО). Основными видами производственной деятельности предприятия ФКУ ИК №2 являются: швейное производство, деревообработка, а также изготовление сувенирных изделий. Предприятие специализируется на пошиве форменной и специальной одежды. В ассортименте продукции более 100 различных моделей. Опытные сотрудники конструкторско-технологического отдела разрабатывают модели одежды по индивидуальным заказам.

Осужденные работают в художественной мастерской и столярном цеху. Имеется своя хлебопекарня, где выпекается различные хлебобулочные изделия. В исправительной колонии имеется развитое подсобное хозяйство, заключенные занимаются выращиванием крупного-рогатого скота, свиней, овощей. Вместе с тем, в настоящее время, производственные площади и оборудование предприятия загружены не на полную мощность. Несмотря, на принимаемые администрацией ИК №2 меры, уровень трудозанятости осужденных остается низким, более половины трудоспособных осужденных не заняты трудом.

Большое внимание администрация исправительного учреждения уделяет образованию осужденных. В исправительной колонии №2 организовано общее образование, профессиональное обучение осужденных. На территории колонии функционирует вечерняя (сменная) общеобразовательная школа. В профессиональном училище №42 осуждённые обучаются по следующим специальностям: наладчик швейного оборудования, швея-моторист, электромонтажник и слесарь, которые востребованы на рынке труда. Получение профессии дает возможность осужденным трудоустроиться как в Центре трудовой адаптации осужденных ИК №2, так и после освобождения из исправительной колонии. Осужденные могут получить и высшее образование на дистанционной форме обучения.

Исправительная колония тесно сотрудничает с Современной гуманитарной академией. Наиболее популярные специальности у заключенных - экономика, информатика и вычислительная техника, психология. В исправительной колонии №2 проводится работа по подготовке осужденных к условиям жизни на свободе и предоставления им возможности получить минимум правовых знаний, необходимых для трудового и бытового устройства. Уделяется внимание культурно-массовой работе с осужденными, организуют концерты художественной самодеятельности, выступают творческие коллективы. Созданы условия для занятия спортом, проводятся различные спортивные мероприятия среди осужденных. На территории ИК №2 расположен храм Святой мученицы Анастасии Узоразрешительницы, который открыт до позднего вечера.

1.2 Описание компании заказчика

Организацией сделавшей заказ данного программного продукта является Исправительная колония № 2 (п. Косиново), Курская область. История исправительной колонии №2 начинается с 50-х годов ХХ века. В поселке Косиново до 1942 года был лагерь для немецких военнопленных. С 1954 года было создано лагерное отделение №5. Со временем, лагерное отделение было перепрофилировано в исправительно-трудовую колонию (ИТК). За период своей деятельности, исправительное учреждение неоднократно перепрофилировалось, переподчинялось, изменялся лимит наполнения, а также название исправительного учреждения - ОХ-30/2. В настоящее время, исправительная колония №2 официально именуется - Федеральное казенное учреждение «Исправительная колония №2 Управления Федеральной службы исполнения наказаний по Курской области» (ФКУ ИК №2 УФСИН России по Курской области). В исправительной колонии №2 отбывают наказание лица, приговоренные к лишению свободы за совершение тяжких и особо тяжких преступлений, ранее отбывавшие наказание в местах лишения свободы, т.е. рецидивисты. На строгом режиме содержания лимит наполнения составляет 1560 мест. При исправительной колонии функционирует участок колонии-поселения на 60 мест.

1.3 Постановка задачи

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

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

1) вывод данных о заключенных, охранниках и обслуживающем персонале.

2) добавление данных в базу;

3) удаление данных из базы;

4) поиск информации.

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

1.4 Минимальные системные требования

Системные требования:

1) Операционная система: Windows xp/Vista/7/8;

2) Компьютер с процессором Intel Pentium 2 или AMD Athlon XP 1200+;

3) 128 MB RAM;

4) 30 MB свободного места на жёстком диске;

5) 128 MB видеокарта;

6) Мышка и клавиатура;

7) Подключение к сети Интернет;

8) Современный браузер (Opera 10, Internet Explorer 8.0).

9) Установленный пакет Java.

10) Монитор.

Глава 2. Проектирование

2.1 Интерфейс главного окна

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

Рис 2.1 Окно главного меню

2.2 Окно просмотра списка заключенных

Рис 2.2 Окно просмотра списка заключенных

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

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

Рис 2.3 Окно добавление заключенного

2.3 Окно просмотра списка обслуживающего персонала

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

Рис. 2.4 Окно просмотра обслуживающего персонала

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

Рис. 2.5 Окно добавления обслуживающего персонала.

2.4 Окно просмотра списка обслуживающего персонала

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

Рис. 2.6 Окно просмотра списка охраны

Рис. 2.6 Окно добавления нового охранника.

Для осуществления добавления охранников в базу данных используется окно на рисунке 2.7. В нем предусмотрены поля: фамилия, имя, отчество, возраст и зарплата.

2.5 Перечень добавленных компонентов

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

1. Компонент jLabele - служит для предоставления названия того или иного поля заполнения;

2. Компонент jTable - служит для вывода различной информации из базы данных;

3. Компонент jButtom - служит для выполнения различных задач;

4. Компонент jTextBox - служит для добавления небольших записей в базу данных;

5. Компонент jTextArea - служит для ввода/вывода большого количества строковой информации;

6. Компонент jPanel - служит для удобства вертски форм;

7. Компонет jScrollPanel - служит для пролистывания таблицы.

Глава 3. Реализация программы «Тюрьма»

3.1 Содержимое базы данных

1) Таблица Осужденный

Столбцы:

1.1 Идентификатор осужденного (Ключевое поле)

1.2 Фамилия

1.3 Имя

1.4 Отчество

1.5 Начало срока

1.6 Конец срока

2) Таблица Обслуживающий персонал

Столбцы:

2.1 Идентификатор обслуживающего персонала(Ключевое поле)

2.2 Фамилия

2.3 Имя

2.4 Отчество

2.5 Специализация

2.6 Телефон

3) Таблица Охрана

Столбцы:

3.1 Идентификатор охрана(Ключевое поле)

3.2 Фамилия

3.3 Имя

3.4 Отчество

3.5 Специализация

3.6 Телефон

3.7 Возраст

Схема базы данных представленна на рисунке 3.1.

Рис. 3.1 Схема данных

3.2 Выбор языка программирования

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

· C - этот язык чрезвычайно труден. С его помощью хоть и можно подключиться к СУБД, но сделать это крайне тяжело. Несмотря на огромное количество документации сказать то, что с ним легко работать нельзя, ибо он очень требователен к соблюдению стандартов. Суммируя все вышесказанное можно сказать что он нам не подходит.

· С# - это объектно ориентированное продолжение языка СИ. Очень хороший вариант в нашем случае. Благодаря нему мы можем с легкостью работать с различными СУБД. Так же в него встроен удобный конструктор и редактор форм WindowsForms. Но, к сожалению, из-за того что это продукт Microsoft могут возникнуть различные проблемы с лицензией, поэтому мы не будем использовать его в данной работе.

· С++ - это прямой наследник языка Си. Он поддерживает множество библиотек и функций своего предка. Так же он поддерживает возможности объектно-ориентированного программирования. Так же, к плюсам можно отнести его огромную популярность, что поможет нам с различного рода документацией в интернете. К недостаткам же можно отнести опять же трудную работу по созданию эффективных форм и проблемами при подключении и работой с СУБД, по-этому данный язык для нас не подходит.

· Java - это объектно-ориентированный язык программирования, имеющий Си подобный синтаксис. К нашему большому счастью в случае с данным языком проблем с лицензией у нас не будет. Так же в различных средах разработки для данного языка имеются хорошие и удобные конструкторы графического пользовательского интерфейса. А еще, в Java очень удобно и просто работать с различного рода СУБД. Исходя из вышеперечисленных факторов Java - наш выбор.

3.3 Выбор среды разработки

Eclipse - это свободная среда для разработки. Она поддерживает множество языком, в том числе и, выбранный нами, Java. Это очень удобный и простой интерфейс. К сожалению, на ней не совсем удобно держать полноценное приложение с сервером и СУБД. Она больше подходит для разработки приложений на Android, в связи с этим Eclipse не наш выбор. Придется найти альтернативу.

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

3.4 Выбор СУБД

Для решения поставленной задачи выбор СУБД является чрезвычайно важным.

СУБД:

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

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

Apache derby - реляционная система управления базами данных написанная на языке Java. Она распространяется свободно и занимает всего 2 MB места на жестком диске. Имеет массу русскоязычной докумнентации. В учебнике NetBeans целых несколько гайдов о том как устанавливать и пользоваться данной системой. Опять же, она сразу встроена в среду разработки NetBeans, по-этому, во избежание проблем, мы и будем ее использовать.

Заключение

база данные java derby

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

Во время создания данного курсового проекта были использован язык Java, среда разработки NetBeans и СУБД Derby.

Список литературы

1. Кэти Сиерра, Берт Бейтс. Изучаем Java. Издательство: Эксмо. 2012г. 720 с.

2. Барри Берд. Java для чайников. Издательство: Вильямс. 2012г. 368с.

3. Кей С. Хорстманн, Гари Корнелл. Java. Библиотека профессионала. Том 2.

Расширенные средства программирования. Издательство: Вильямс. 2014г.1008с.

4. Бен Форта. SQL за 10 минут. Издательство: Вильямс. 2014г. 288с.

5. Джеймс Р. Грофф, Пол Н. Вайнберг, Эндрю Дж. Оппель. SQL. Полное руководство. Издательство: Вильямс. 2015г. 961с.

6. Базы данных. Авторы: Ольга Голицына, Николай Максимов, Игорь Попов Издательство: Форум. 2012г. 400с.

7. http://www.ianywhere.com/

8. Настройка приложений баз данных. Авторы: Борис Новиков, Г. Домбровская. Издательство: БХВ-Петербург. 2012г. 240с.

9. Фельдман С.К. Система программирования Java без секретов: Как создать безопасное приложение с "нуля". - Новый издательский дом" , 2005 г. , 347 с.

10. Дейтел П.Дж., Дейтел Х.М. Как программировать на Java. Книга 2. Файлы, сети, базы данных. - "Бином" · 2005 г. 672 с.

11. http://www.avacco.ru/page.asp?code=electronniy_arhiv

12. http://www.java.alfamoon.com/

13.Пирогов, В.Ю. Информационные системы и базы данных: организация и проектирование: Учебное пособие / В.Ю. Пирогов. - СПб.: БХВ-Петербург, 2009. 528 c.

14.Советов, Б.Я. Базы данных: теория и практика: Учебник для бакалавров / Б.Я. Советов, В.В. Цехановский, В.Д. Чертовской. - М.: Юрайт, 2013. 463 c.

15.Хомоненко А.Д. Базы данных: учебник для высших учебных заведений /А.Д. Хомоненко, В.М. Цыганков, М.Г. Мальцев; под ред. проф. А.Д. Хомоненко. Издательство: Корона-Принт. 2004г. 736с.

16.Кириллов В.В. Введение в реляционные базы данных / В.В. Кириллов, Г.Ю. Громов. - СПб.: БХВ-Петербург, 2012. 464 c.

17.Дейт К. Дж. Введение в системы баз данных: [пер с англ.] /К.Дж. Дейт. 6-е изд. Киев; М.; СПб. : Издательский дом «Вильямс», 1999. 848 с.

18.Коннолли Т. Базы данных: проектирование, реализация и сопровождение. Теория и практика: [пер. с англ.] / Т. Коннолли, К. Бегг, А. Страчан. 2-е изд. М. : Издательский дом «Вильямс», 2000. 1120 с.

19.Кузин А.В. Базы данных: Учебное пособие для студ. высш. учеб. заведений / А.В. Кузин, С.В. Левонисова. - М.: ИЦ Академия, 2012. 320 c.

20. М. Мелдман, Д. Маклеод, Роберт Пелликор, Моррис Сквайр. RISS. Система управления реляционными базами данных для малых ЭВМ. M. : Издательство: Финансы и статистика, 1982. 144 c.

Приложение A. Исходный код

Листинг файла List.java

package kids;

import java.awt.ScrollPane;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Vector;

import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableModel;

public class List {

private String url = "jdbc:derby://localhost:1527/admin";

private String username = "Nikita";

private String password = "909878";

public DefaultTableModel fillList(DefaultTableModel dtm,String column1, String column2,String column3,String column4, String what, String from){

try{

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String s = "SELECT " + what + " FROM " + from;

ResultSet rs = stmt.executeQuery(s);

ResultSetMetaData rsmt = rs.getMetaData();

int c = 4;

Vector columns_name = new Vector();

Vector data_rows = new Vector();

columns_name.addElement(column1);

columns_name.addElement(column2);

columns_name.addElement(column3);

columns_name.addElement(column4);

dtm.setColumnIdentifiers(columns_name);

while(rs.next()){

data_rows = new Vector();

for(int j=1; j<= c; j++){

data_rows.addElement(rs.getString(j));

}

ScrollPane scroll = new ScrollPane();

dtm.addRow(data_rows);

}

}catch(SQLException ex){

JOptionPane.showMessageDialog(null, ex);

}

return dtm;

}

// Этот метод ищет элемент в БД

// Параметрами являются: модель таблицы(dtm), названия столбцов(column1, column2,column3,colum4), параметр того, что мы ищем(what), и параметр откуда мы ищем в базе данных (from), и параметр поиск(searchText). Последние три параметра указывают на то откуда конкретно и что мы читаем в базе данных

public DefaultTableModel findElement(DefaultTableModel dtm,String column1, String column2,String column3,String column4, String what, String from, String searchText){

try{

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String s = "SELECT " + what + " FROM " + from + " WHERE ФАМИЛИЯ ='"+searchText+"'";

ResultSet rs = stmt.executeQuery(s);

ResultSetMetaData rsmt = rs.getMetaData();

int c = 4;

Vector columns_name = new Vector();

Vector data_rows = new Vector();

columns_name.addElement(column1);

columns_name.addElement(column2);

columns_name.addElement(column3);

columns_name.addElement(column4);

dtm.setColumnIdentifiers(columns_name);

while(rs.next()){

data_rows = new Vector();

for(int j=1; j<= c; j++){

data_rows.addElement(rs.getString(j));

}

dtm.addRow(data_rows);

}

}

catch(SQLException ex){

JOptionPane.showMessageDialog(null, ex);

}

return dtm;

}

// Этот метод удаляет запись из БД

// Параметрами являются: номер столбца(col) и его параметр поиска(selectedRow).

public void deleteRow (int col, String selectedRow){

try{

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

if(col != -1){

String s = "DELETE FROM KID WHERE ФАМИЛИЯ ='"+selectedRow+"'";

PreparedStatement r = con.prepareStatement(s);

r.execute();

JOptionPane.showMessageDialog(null, "Запись успешно удалена !");

}

}catch (SQLException ex){

JOptionPane.showMessageDialog(null, ex);

}

}

}

Приложение B

Листинг и описание класса Addition

package kids;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

import javax.swing.JOptionPane;

public class Addition {

// Этои строки служат для подключения к базе данных.

private String url = "jdbc:derby://localhost:1527/admin";

private String username = "Nikita";

private String password = "909878";

// Этот метод создан для добавления ребенка в базу данных, он имеет параметры : ФИО (firstName, Name, thirdName), телефон(tel), номер школы(school) и проблему(problem).

public void addChild(String firstName, String Name, String thirdName, String tel, String date, String school, String problem ){

try{

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String Query ="INSERT INTO KID( ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ТЕЛЕФОН, ДАТА_РОЖДЕНИЯ, НОМЕР_ШКОЛЫ, ПРОБЛЕМА) VALUES ('"+firstName+"','"+Name+"','"+thirdName+"', '"+tel+"', '"+date+"','"+school+"','"+problem+"')";

stmt.execute(Query);

JOptionPane.showMessageDialog(null, "Ребенок успешно добавлен !");

}catch (SQLException ex){

JOptionPane.showMessageDialog(null, ex);

}

}

// Этот метод создан для добавления преподавателя в базу данных, он имеет параметры : ФИО (firstName, Name, thirdName), телефон(tel) и специализацию(specialazation).

public void addTeacher(String firstName,String Name,String thirdName,String Tel,String specialazation){

try{

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String Query ="INSERT INTO TEACHER( ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ТЕЛЕФОН, СПЕЦИАЛИЗАЦИЯ) VALUES ('"+firstName+"','"+Name+"','"+thirdName+"', '"+Tel+"','"+specialazation+"')";

stmt.execute(Query);

JOptionPane.showMessageDialog(null, "Преподаватель успешно доваблен !");

} catch (SQLException ex){

JOptionPane.showMessageDialog(null,ex);

}

}

// Этот метод создан для добавления занятия в базу данных, он имеет параметры : дата, время, предмет, ФИО преподавателя, ФИО ученика..

public void addLesson(String subj, String date, String time, String teacher, String student){

try {

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String Query ="INSERT INTO LESSON(ПРЕДМЕТ, ДАТА, ВРЕМЯ, УЧЕНИК, УЧИТЕЛЬ ) VALUES ('"+subj+"','"+date+"','"+time+"', '"+student+"','"+teacher+"')";

stmt.execute(Query);

JOptionPane.showMessageDialog(null, "Занятие успешно доваблено !");

}

catch(SQLException ex){

JOptionPane.showMessageDialog(null, ex);

}

}

// Этот метод создан для добавления договор в базу данных, он имеет параметры : ФИО (firstName, Name, thirdName), телефон(tel), номер место работы(place_of_work) и задачу(task).

public void addAgreement(String firstName,String Name,String thirdName,String Tel,String place_of_work,String date,String task){

try{

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String Query ="INSERT INTO AGREEMENT( ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ТЕЛЕФОН, МЕСТО_РАБОТЫ, ДАТА_РЕГИСТРАЦИИ, ЗАДАЧИ) VALUES ('"+firstName+"','"+Name+"','"+thirdName+"', '"+Tel+"','"+place_of_work+"','"+date+"','"+task+"')";

stmt.execute(Query);

JOptionPane.showMessageDialog(null, "Договор успешно доваблен !");

}catch (SQLException ex){

JOptionPane.showMessageDialog(null, ex);

}

}

}

Приложение C. Исходный код

Листинг файла Viev.java

package kids;

import java.awt.ScrollPane;

import java.util.*;

import java.sql.*;

import javax.swing.JOptionPane;

import javax.swing.table.*;

public class Viev extends javax.swing.JFrame {

private String what = "ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ТЕЛЕФОН";

private String from = "KID";

private String where = "ФАМИЛИЯ";

private String col1="Фамилия", col2="Имя", col3="Отчество", col4="Телефон";

public Viev() {

initComponents();

update();

}

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

jPanel1 = new javax.swing.JPanel();

jScrollPane1 = new javax.swing.JScrollPane();

jTable1 = new javax.swing.JTable();

jPanel2 = new javax.swing.JPanel();

Refresh = new javax.swing.JButton();

SearchButtom = new javax.swing.JButton();

SearchText = new javax.swing.JTextField();

Delete = new javax.swing.JButton();

jButton1 = new javax.swing.JButton();

jPanel3 = new javax.swing.JPanel();

jScrollPane2 = new javax.swing.JScrollPane();

ProblemArea = new javax.swing.JTextArea();

jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("Просмотр таблицы");

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Таблица из базы данных", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N

jTable1.setModel(new javax.swing.table.DefaultTableModel(

new Object [][] {

{null, null, null, null},

{null, null, null, null},

{null, null, null, null}

},

new String [] {

"Фамилия", "Title 2", "Title 3", "Title 4"

}

));

jTable1.addFocusListener(new java.awt.event.FocusAdapter() {

public void focusGained(java.awt.event.FocusEvent evt) {

jTable1FocusGained(evt);

}

});

jTable1.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(java.awt.event.MouseEvent evt) {

jTable1MouseClicked(evt);

}

public void mouseEntered(java.awt.event.MouseEvent evt) {

jTable1MouseEntered(evt);

}

});

jTable1.addInputMethodListener(new java.awt.event.InputMethodListener() {

public void caretPositionChanged(java.awt.event.InputMethodEvent evt) {

jTable1CaretPositionChanged(evt);

}

public void inputMethodTextChanged(java.awt.event.InputMethodEvent evt) {

}

});

jTable1.addPropertyChangeListener(new java.beans.PropertyChangeListener() {

public void propertyChange(java.beans.PropertyChangeEvent evt) {

jTable1PropertyChange(evt);

}

});

jTable1.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyPressed(java.awt.event.KeyEvent evt) {

jTable1KeyPressed(evt);

}

public void keyTyped(java.awt.event.KeyEvent evt) {

jTable1KeyTyped(evt);

}

});

jScrollPane1.setViewportView(jTable1);

if (jTable1.getColumnModel().getColumnCount() > 0) {

jTable1.getColumnModel().getColumn(3).setResizable(false);

}

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 550, Short.MAX_VALUE)

.addContainerGap())

);

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 117, Short.MAX_VALUE)

.addContainerGap())

);

jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Панель управления", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N

Refresh.setText("Добавить");

Refresh.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

RefreshActionPerformed(evt);

}

});

SearchButtom.setText("Поиск по фамилиям");

SearchButtom.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

SearchButtomActionPerformed(evt);

}

});

SearchText.addInputMethodListener(new java.awt.event.InputMethodListener() {

public void caretPositionChanged(java.awt.event.InputMethodEvent evt) {

}

public void inputMethodTextChanged(java.awt.event.InputMethodEvent evt) {

SearchTextInputMethodTextChanged(evt);

}

});

Delete.setText("Удалить");

Delete.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

DeleteActionPerformed(evt);

}

});

jButton1.setText("Показать");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);

jPanel2.setLayout(jPanel2Layout);

jPanel2Layout.setHorizontalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)

.addComponent(SearchText)

.addComponent(SearchButtom, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()

.addComponent(Refresh)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(Delete))

.addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

jPanel2Layout.setVerticalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(Refresh)

.addComponent(Delete))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(SearchButtom)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(SearchText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 41, Short.MAX_VALUE))

);

jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Дополнительная информация о ребенке", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N

ProblemArea.setColumns(20);

ProblemArea.setRows(5);

jScrollPane2.setViewportView(ProblemArea);

jLabel1.setText("Проблема");

javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);

jPanel3.setLayout(jPanel3Layout);

jPanel3Layout.setHorizontalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel3Layout.createSequentialGroup()

.addGap(40, 40, 40)

.addComponent(jLabel1)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addGroup(jPanel3Layout.createSequentialGroup()

.addContainerGap()

.addComponent(jScrollPane2)

.addContainerGap())

);

jPanel3Layout.setVerticalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()

.addComponent(jLabel1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jScrollPane2)

.addContainerGap())

);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addGroup(layout.createSequentialGroup()

.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))

.addContainerGap())

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addContainerGap())

);

pack();

}// </editor-fold>

private void DeleteActionPerformed(java.awt.event.ActionEvent evt) {

int col = jTable1.getSelectedColumn();

String selectedRow = jTable1.getModel().getValueAt(jTable1.getSelectedRow(),0).toString();

if(jTable1.getSelectedColumn() != -1){

List l = new List();

l.deleteRow(col, selectedRow);

update();

}

}

private void RefreshActionPerformed(java.awt.event.ActionEvent evt) {

Kids kid = new Kids();

kid.setVisible(true);

kid.toFront();

}

private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {

try{

String url = "jdbc:derby://localhost:1527/admin";

String username = "Nikita";

String password = "909878";

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String s = "SELECT ФАМИЛИЯ,ИМЯ,ОТЧЕСТВО,ТЕЛЕФОН,ПРОБЛЕМА FROM KID WHERE ФАМИЛИЯ ='"+jTable1.getModel().getValueAt(jTable1.getSelectedRow(),0).toString()+"'";

ResultSet rs = stmt.executeQuery(s);

while (rs.next()){

ProblemArea.setText(rs.getString(5));

}

}

catch(SQLException et){

JOptionPane.showConfirmDialog(null, et);

}

}

private void SearchButtomActionPerformed(java.awt.event.ActionEvent evt) {

DefaultTableModel dtm = new DefaultTableModel();

List list = new List();

dtm = list.findElement(dtm, col1, col2, col3, col4, what, from, SearchText.getText());

jTable1.setModel(dtm);

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

update();

}

private void SearchTextInputMethodTextChanged(java.awt.event.InputMethodEvent evt) {

// TODO add your handling code here:

}

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Viev.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Viev.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Viev.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Viev.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new Viev().setVisible(true);

}

});

}

private void update(){

DefaultTableModel dtm = new DefaultTableModel();

List list = new List();

dtm = list.fillList(dtm, col1, col2, col3, col4, what, from);

jTable1.setModel(dtm);

}

Приложение D. Исходный код

Листинг файла Kids.java

package kids;

import java.util.*;

import javax.swing.*;

import java.sql.*;

import javax.swing.JOptionPane;

public class Kids extends javax.swing.JFrame {

/**

* Creates new form Kids

*/

public Kids() {

initComponents();

for (int i = 1900; i < 2016; i++){

}

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

jPanel1 = new javax.swing.JPanel();

FirstNameText1 = new javax.swing.JTextField();

NameText1 = new javax.swing.JTextField();

ThirdNameText1 = new javax.swing.JTextField();

jLabel4 = new javax.swing.JLabel();

jLabel9 = new javax.swing.JLabel();

jLabel10 = new javax.swing.JLabel();

TelText1 = new javax.swing.JTextField();

jLabel2 = new javax.swing.JLabel();

jLabel7 = new javax.swing.JLabel();

SchoolText1 = new javax.swing.JTextField();

jLabel8 = new javax.swing.JLabel();

AddKid = new javax.swing.JButton();

jScrollPane1 = new javax.swing.JScrollPane();

ProblemsText1 = new javax.swing.JTextPane();

jLabel1 = new javax.swing.JLabel();

jButton1 = new javax.swing.JButton();

Day = new javax.swing.JTextField();

Mounth = new javax.swing.JTextField();

Year = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("Добавление ребенка");

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Заполнение таблицы", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Times New Roman", 1, 16))); // NOI18N

jPanel1.setDoubleBuffered(false);

jLabel4.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel4.setText("Фамилия:");

jLabel9.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel9.setText("Имя:");

jLabel10.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel10.setText("Отчество:");

TelText1.setText(" ");

jLabel2.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel2.setText("Телефон:");

jLabel7.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel7.setText("Дата рождения:");

jLabel8.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel8.setText("Номер школы:");

AddKid.setText("Добавить");

AddKid.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

AddKidActionPerformed(evt);

}

});

jScrollPane1.setViewportView(ProblemsText1);

jLabel1.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel1.setText("Проблема:");

jButton1.setText("Показать ");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(jLabel7)

.addComponent(jLabel8)

.addComponent(jLabel1)

.addComponent(jLabel2)

.addComponent(jLabel10)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel9)

.addComponent(jLabel4)))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

.addComponent(SchoolText1, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(FirstNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(TelText1, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(ThirdNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(NameText1, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(Day, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(Mounth, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(Year))))

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(AddKid)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButton1)))

.addContainerGap(20, Short.MAX_VALUE))

);

jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {FirstNameText1, NameText1, SchoolText1, TelText1, ThirdNameText1, jScrollPane1});

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel4)

.addComponent(FirstNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel9)

.addComponent(NameText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel10)

.addComponent(ThirdNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(TelText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel2))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel7)

.addComponent(Day, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(Mounth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(Year, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel8)

.addComponent(SchoolText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel1))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jButton1)

.addComponent(AddKid))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

getAccessibleContext().setAccessibleName("");

pack();

}// </editor-fold>

private void AddKidActionPerformed(java.awt.event.ActionEvent evt) {

try {

String url = "jdbc:derby://localhost:1527/admin";

String username = "Nikita";

String password = "909878";

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String firstName = FirstNameText1.getText();

String Name = NameText1.getText();

String thirdName = ThirdNameText1.getText();

String Tel = TelText1.getText();

String school = SchoolText1.getText();

String problem = ProblemsText1.getText();

firstName = firstName.replaceAll("\\s", "");

Name = Name.replaceAll("\\s", "");

thirdName = thirdName.replaceAll("\\s", "");

Tel = Tel.replaceAll("\\s", "");

school = school.replaceAll("\\s", "");

problem = problem.replaceAll("\\s", "");

String date = Day.getText() + "." + Mounth.getText() + "." + Year.getText();

Addition add = new Addition();

add.addChild(firstName, Name, thirdName, Tel, date, school, problem);

FirstNameText1.setText(null);

NameText1.setText(null);

ThirdNameText1.setText(null);

TelText1.setText(null);

Day.setText(null);

Mounth.setText(null);

Year.setText(null);

SchoolText1.setText(null);

ProblemsText1.setText(null);

}

catch(SQLException ex){

JOptionPane.showMessageDialog(null, ex.toString());

}

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

Viev v = new Viev();

v.setVisible(true);

v.toFront();

}

public static int getResultSetRowCount(ResultSet resultSet) {

int size = 0;

try {

resultSet.last();

size = resultSet.getRow();

resultSet.beforeFirst();

}

catch(SQLException ex) {

return 0;

}

return size;

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(() -> {

new Kids().setVisible(true);

});

}

Приложение Е. Исходный код

Листинг файла AdditionAgreement.java

package kids;

import java.util.*;

import javax.swing.*;

import java.sql.*;

import javax.swing.JOptionPane;

public class Kids extends javax.swing.JFrame {

/**

* Creates new form Kids

*/

public AdditionAgreement() {

initComponents();

for (int i = 1900; i < 2016; i++){

}

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

jPanel1 = new javax.swing.JPanel();

FirstNameText1 = new javax.swing.JTextField();

NameText1 = new javax.swing.JTextField();

ThirdNameText1 = new javax.swing.JTextField();

jLabel4 = new javax.swing.JLabel();

jLabel9 = new javax.swing.JLabel();

jLabel10 = new javax.swing.JLabel();

TelText1 = new javax.swing.JTextField();

jLabel2 = new javax.swing.JLabel();

jLabel7 = new javax.swing.JLabel();

SchoolText1 = new javax.swing.JTextField();

jLabel8 = new javax.swing.JLabel();

AddKid = new javax.swing.JButton();

jScrollPane1 = new javax.swing.JScrollPane();

ProblemsText1 = new javax.swing.JTextPane();

jLabel1 = new javax.swing.JLabel();

jButton1 = new javax.swing.JButton();

Day = new javax.swing.JTextField();

Mounth = new javax.swing.JTextField();

Year = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("Добавление ребенка");

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Заполнение таблицы", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Times New Roman", 1, 16))); // NOI18N

jPanel1.setDoubleBuffered(false);

jLabel4.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel4.setText("Фамилия:");

jLabel9.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel9.setText("Имя:");

jLabel10.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N


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

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

    дипломная работа [225,0 K], добавлен 18.05.2013

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

    курсовая работа [26,7 K], добавлен 19.06.2010

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

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

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

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

  • Методика разработки программы по поиску информации из базы данных, содержащей информацию о телевизорах. Использование языка программирования "С++" и среды разработки Qt Creator "С++" - статически типизированного языка программирования общего назначения.

    курсовая работа [626,1 K], добавлен 22.12.2011

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

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

  • Разработка информационно-аналитической системы агентства недвижимости. Обоснование выбора архитектуры базы данных и СУБД. Моделирование потоков данных (DFD диаграмм). Проектирование инфологической модели данных с использованием модели "сущность-связь".

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

  • Автоматизированные базы данных в учебном процессе. Создание базы данных для МОУ СОШ № 12 с целью помощи в обеспечении централизованного управления, хранения информации об учениках. Требования к программе, условия эксплуатации. Программный код базы данных.

    дипломная работа [2,0 M], добавлен 25.03.2014

  • Теоретические аспекты СУБД. Основные понятия. Функциональные возможности СУБД. Архитектура систем управления. Разработка базы данных. Крупные массивы данных размещают, как правило, отдельно от исполняемого программы, и организуют в виде базы данных.

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

  • Виды связей между объектами в системе управления базами данных MS Access. Ввод и редактирование данных в таблицах, обработка информации базы данных. Архитектура БД по принципу файл-сервер. Создания формы в окне базы данных, использование отчетов.

    презентация [511,9 K], добавлен 20.01.2014

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