Министерство образования и науки, молодежи и спорта Украины
Сумской государственный университет
Контрольная работа
по курсу ”Интегрированные системы управления”
Вариант №13
Выполнил: студент группы ИН-83
Моисеенко С. Н.
Проверила: Хоменко Л. В.
Сумы 2012
Содержание
Постановка задачи. 3
1 Считывание данних из подсистеми «Деканат». 4
1.1 Создание подключения к подсистеме. 4
1.2 Выборка данных по заданному параметру. 5
2 Запись данных в подсистему «Финансы». 6
2.1 Создание подключения к подсистеме. 6
2.2 Получение кода отдела. 6
2.3 Получениекодапрофессии. 7
2.4 Переформатированияданных. 7
2.5 Добавление данных в базу. 7
3 Пример работы приложения. 9
Приложение. Код программы.. 11
Существует две системыс разной архитектурой и форматами хранения данных:
«Деканат» - файл-серверная архитектура, формат хранения данных – dbf файлы;
«Финансы» - клиент-серверная архитектура, формат хранения данных – gdb файл.
Нужно интегрировать эти подсистемы на программном и информационном уровне, организовать передачу данных по личным делам студентов из подсистемы «Деканат» в подсистему «Финансы». Как активная система выступает подсистема «Финансы», она запрашивает данные у подсистемы «Деканат».
Во время выполнения контрольной работы необходимо разработать программный модуль, который реализует описанную выше задачу обмена данными и дополнительно обеспечить следующее:
· Привести фамилию, имя отчество студента к стандартному виду: первая буква заглавная, другиепрописные;
· Заменить английскую букву I (i)на украинскую;
· Обеспечить перекодирование кодов специальностей.
Также необходимо реализоватьпредварительный отбор личных дел по определенным параметрам в зависимости от варианта.
Параметры отбора данных:
13 вариант – по группам.
Для подключения к подсистеме «Деканат» можно использовать HXTT драйвер. В строке соединения необходима указать папку, где находиться dbf файлы, а для дальнейшей работы понадобятся имена файлов, в которых хранятся данные. После получения соединения можно заполнить combobox, который предоставит выбор группы, личные дела студентов которых находятся в базе.
Подключение к базе:
Class.forName("com.hxtt.sql.dbf.DBFDriver");
Properties conProperties = new Properties();
conProperties.put("charSet", "Cp866");
conn = DriverManager.getConnection("jdbc:dbf:/D:/JavaDB/", conProperties);
Заполнение перечня групп:
ResultSet groups = DBFReader.executeQuery(conn, "SELECT DISTINCT G.naim FROM group " + "G,contingent C where C.K_GRUP = G.KOD");
String[][] gr = DBFReader.getTable(groups);
String[] gro = new String[gr.length + 1];
gro[0] = "Все группы";
for (int i = 0; i < gr.length; i++) {
gro[i + 1] = gr[i][0];
}
DefaultComboBoxModel dcbm = new DefaultComboBoxModel(gro);
jComboBox1.setModel(dcbm);
При необходимости выбрать личные дела студентов только из определенной
группы к запросу добавляется условие точно указывающие группу.
String choise = jComboBox1.getSelectedItem().toString();
try {
Connection conn = DBFReader.getConnection();
String str = "";
String str2 = "";
if (choise.equals("Все группы")) {
str = "select * from contingent C "
+ "INNER JOIN facultet F ON C.K_FAK = F.KOD "
+ "INNER join spec S ON C.KOD_SPEC = S.KOD_SPEC "
+ "INNER join group G ON C.K_GRUP = G.KOD";
str2 = "select C.NUM_ZACH, C.FAM, C.IMJA, C.OT, C.DATA_ROJD, "
+ "C.NAL_KOD, C.K_FAK, C.KOD_SPEC, "
+ "G.NAIM, C.K_KURS from contingent C "
+ "JOIN facultet F ON C.K_FAK = F.KOD "
+ "join spec S ON C.KOD_SPEC = S.KOD_SPEC "
+ "join group G ON C.K_GRUP = G.KOD";
} else {
str = "select * from contingent C "
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.