Интегрирование подсистем "Деканат" и "Финансы" на программном и информационном уровне, организация передачи данных по личным делам студентов из подсистемы «Деканат» в подсистему «Финансы»

Страницы работы

15 страниц (Word-файл)

Содержание работы

Министерство образования и науки, молодежи и спорта Украины

Сумской государственный университет

Контрольная  работа

по курсу ”Интегрированные системы управления”

Вариант №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 вариант – по группам.


1 СчитЫванИЕ данных ИЗ пОдсистемы «Деканат»

1.1 Создание подключения к подсистеме

Для подключения к подсистеме «Деканат» можно использовать 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);


1.2 Выборка данных по заданному параметру

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

 группы к запросу добавляется условие точно указывающие группу.

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 "

Похожие материалы

Информация о работе