Автоматизація магазину комп’ютерів

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

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

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

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

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

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

Вступ

програма автоматизація комп'ютер

Курсовий проект (робота) - це самостійно виконана і відповідно оформлена творча робота студента з вирішення конкретного практичного завдання з однієї або декількох загальнотехнічних чи спеціальних дисциплін на основі набутих теоретичних знань та умінь.

Курсовий проект виконується протягом навчального семестру у відповідності з навчальним планом спеціальності

Основною метою курсового проектування є:

– навчання та набуття навиків практичного застосування теоретичних знань для вирішення конкретних практичних задач;

– розвиток творчого мислення, виявлення та формування професійних навиків студентів;

– набуття навиків конструювання виробів, виконання розрахунків, письмового викладу технічних рішень та аналізу одержаних результатів;

– закріплення, поглиблення та систематизація отриманих студентами в процесі навчання теоретичних знань з різних дисциплін;

– набуття навиків узагальнення та аналізу результатів, отриманих іншими розробниками та дослідниками;

– навчання та набуття студентами досвіду користування довідковою літературою і нормативними документами.

Мета курсового проектування з дисципліни «Основи програмування та алгоритмічні мови»:

– закріпити знання, одержані під час вивчення дисципліни «Основи програмування та алгоритмічні мови;

– засвоїти основні етапи розробки програмних виробів;

– набути навиків при оформлення документів на програмні вироби;

одержати практичні навички з розробки програм і програмних документів.

1. Постановка завдання

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

1. Наявність - містить інформацію про предмети, які є наявні а складі. Тут будуть визначені наступні поля:

· ID - унікальний код продукту

· Name - назва моделі продукту

· Type - тип продукту

· Cost - ціна за одиницю продукції

· Count - кількість штук продукції на складі.

2. Постачальники - містить інформацію про постачальників продукції фірмі, що займається продажем. Поля даної таблиці:

· ID - унікльний код постачальника

· Name - найменування фірми постачальника

· Type - тип постачальної продукції

· Adress - юридична адреса постачальника

· Tell - номер телефона фірми постачальника

3. Замовлення - містить інформацію про здійснені замовлення на купівлю товару. Поля:

· ID - унікальний код замовника

· PIB - Прізвище, ім'я, по-батькові замовника

· Adress - адреса замовлення

· Tell - контактний номер телефона

Програма повинна бути реалізована на довільну кількість записів. Всі дані, які будуть вводитися користувачем повинні бути підготовлені до зовнішнього файлу. Окрім введення і збереження даних, програма повинна виконувати також ряд інших функцій обробки цих даних, що виконує наступні операції:

· Виводить на екран записи БД;

· Дадавання нових записів;

· Видаленя вибараних записів з бази;

· Збереження оновлених даних

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

2. Математична модель та метод розв'язання задачі

Проаналізувавши поставлене завдання і провівши аналіз вхідних і вихідних даних складемо математичну модель задачі.

Щоб вирішити дане завдання нам необхідно створити початкову базу даних і змоделювати вищеописані таблиці. Початкову БД ми створемо за допомогою СКБД РostgreSQL.

Зв'язувати нашу програму з початковою базою даних ми будемо за допомогою jdbc - драйвера нашої СКБД. Цей драйвер дасть нам змогу взаємодіяти з зовнішньої БД і здійснити виконання основних функцій поставлених завданям.

Перелічені функції реалізовуватимуться за допомогою SQL-запитів/

SQL (Structured query language - мова структурованих запитів) - декларативна мова програмування для взаємодії користувача з базами даних, що застосовується для формування запитів, оновлення і керуванняреляційними БД, створення схеми бази даних і її модифікація, система контролю за доступом до бази даних. Сам по собі SQL не є ні системою керування базами даних, ні окремим програмним продуктом.

SQL - це діалогова мова програмування для здійснення запиту і внесення змін до бази даних, а також управління базами даних. Багато баз даних підтримує SQL з розширеннями до стандартної мови. Ядро SQL формує командна мова, яка дозволяє здійснювати пошук, вставку, обновлення, і вилучення даних, використовуючи систему управління і адміністративні функції. SQL також включає CLI (Call Level Interface) для доступу і управління базами даних дистанційно/

Розглянемо основні функції SQL, які будуть використовуватись в нашій програмі:

1. SELECT

Оператор SELECT дозволяє вибирати дані з бази. Загалом оператор SELECT виглядає так:

SELECT імена_полів

FROM імена_таблиць

WHERE умова;

Імена полів записуються через кому. Якщо потрібно вибрати всі поля, пишуть зірочку («*»). При потребі можна уточнити з якої таблиці брати поле, додавши перед його іменем.

SELECT може видати нам рядки що повторюються. Якщо ми хочемо мати тільки унікальні значення, то можемо уникнути повторень командою DISTINCT.

SELECT DISTINCT поля FROM таблиці;

Умова дозволяє відкинути непотрібні нам значення. Загалом в умові певні поля порівнюються з певними значеннями, чи між собою. Текстові значення беруться в одинарні лапки (можна і в подвійні). Для порівняння можна користуватись такими операторами:

Оператор

Опис

Приклад

=

Рівність

surname='Іванов'

<> (можливо також!=)

Нерівність

surname!='Іванов'

<, >, <=, >=

Менше, більше, менше рівно, більше рівно

age>=18

BETWEEN

Всі значення що знаходяться між даними двома включно

BETWEEN 'Іванов' AND 'Петров'

LIKE

Порівняння з шаблоном

surname LIKE 'І % '

IN

Приймає одне з перелічених значень

faculty IN ('Кубик', 'Радіофак', 'Мехмат')

В шаблоні для LIKE можна використовувати ' % ' як замінник для будь-якого числа будь-яких символів, та '_' як замінник для довільного одного символа.

Також в умові можна використовувати оператори OR, AND та NOT, та дужки.

Також до запиту SELECT можна додати команду ORDER BY, що дозволяє впорядкувати результат за заданими стовпцями. Щоб сортувати в зворотньому порядку після стовпців за якими сортують пишуть DESC:

SELECT name FROM students ORDER BY name DESC;

Варто також зауважити, що ORDER BY не може стояти перед WHERE інакше будуть помилки.

2. INSERT

Оператор INSERT додає до таблиці рядок. Має такий синтаксис:

INSERT INTO назва_таблиці VALUES (список_значень);

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

INSERT INTO students(name) VALUES ('Іван');

Всі інші поля отримають значення за замовчуванням.

3. DELETE

Найпростіший оператор:

DELETE FROM назва_таблиці WHERE умова;

Знову ж таки, не варто забувати, що немає команди «Відмінити».

Для видаленя всіх даних використовують оператор truncate table

Отже для виконання курсового проекту нам цілком вистачить ПК з наступними параметрами

1. Процесор - Intel Celeron 1,9 ГГц

2. ОЗУ - 128 Мб

3. Об'єм вільної пам'яті - 50 Мб

4. Об'єм графічної пам'яті - 128Мб

3. Перелік та призначення режимів та структура діалогу

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

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

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

Далі після вибору таблиці користувач повинен бачити перед собою зручне і оформлене вікно для безпосередньої робити з вхідними даними. Тому на цьому вікні буде розміщена таблиця з вхідними даними і кнопки для вибору дії по обробці інформації. Основними діями будуть:

1. Завантажити дані

2. Додати запис

3. Видалити

4. Зберегти

Вибір функції користувач здійснюватиме шляхом патискання клавішею миші на відповідну кнопку

Функція 1 відповідає за завантаження даних із зовнішньої БД в таблицю вікна програми.

Функція 2 відповідає за додавання нового запису в таблицю

Функція 3 відповідає за видалення вибраного запису з таблиці

Функція 4 відповідає за збереження даних в зовнішню базу даних

Отже інтерфейс програми не буде складним і кінцевий споживач зможе легко керувати нашим програмним продуктом

4. Опис компонентів програми і створення проекту

Опис компонентів програми

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

Наша програма буде створюватись на основі мви програмування високого рівня JAVA, використовуючи компоненти Java SWING/

Java (вимовляється Джава; інколи - Ява) - об'єктно-орієнтованамова програмування, випущена компанією Sun Microsystems у1995 році як основний компонент платформи Java. Зараз мовою займається компанія Oracle, яка придбала Sun Microsystems у2009 році. Синтаксис мови багато в чому схожий на C та C++. У офіційній реалізації Java-програми компілюються у байт-код, який при виконанні інтерпретується віртуальною машиною для конкретної платформи.

Oracle надає компілятор Java та віртуальну машину Java, які задовольняють специфікації Java Community Process, під ліцензією GNU General Public License.

Мова значно запозичила синтаксис із C і C++. Зокрема, взято за основу об'єктну модель С++, проте її модифіковано. Усунуто можливість появи деяких конфліктних ситуацій, що могли виникнути через помилки програміста та полегшено сам процес розробки об'єктно-орієнтованих програм. Ряд дій, які в С/C++ повинні здійснювати програмісти, доручено віртуальній машині. Передусім Java розроблялась як платформо-незалежна мова, тому вона має менше низькорівневих можливостей для роботи з апаратним забезпеченням. За необхідності таких дій java дозволяє викликати підпрограми, написані іншими мовами програмування

Swing - інструментарій для створення графічного інтерфейсу користувача (GUI) мовою програмування Java. Це частина бібліотеки базових класів Java (JFC, Java Foundation Classes).

Swing розробляли для забезпечення функціональнішого набору програмних компонентів для створення графічного інтерфейсу користувача, ніж у ранішого інструментарію AWT. Компоненти Swing підтримують специфічні look-and-feelмодулі, що динамічно підключаються. Завдяки ним можлива емуляція графічного інтерфейсу платформи (тобто до компоненту можна динамічно підключити інші, специфічні для даної операційної системи вигляд і поведінку). Основним недоліком таких компонентів є відносно повільна робота, хоча останнім часом це не вдалося підтвердити через зростання потужності персональних комп'ютерів. Позитивна сторона - універсальність інтерфейсу створених програм на всіх платформах

Опишемо основні компоненти Java Swing, що будуть використовуватись в нашій програмі:

1. Мітки

Мітка (JLabel) - це рядок тексту або зображення, що розміщується в компоненті. Це один з найпростіших компонентів графічного інтерфейсу. Вони дозволяють задавати вирівнювання тексту (вправо, зліва, по-центру) в середині компонента та не мають особливих подій, які б асоціювалися з ними.

Наступний код демонструє різноманітні способи створення міток.

import javax.swing. Icon;

import javax.swing. ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing. SwingConstants;

public class Labels {

public static void main (String[] args) {

LabelFrame frame = new LabelFrame();

frame.setSize (150, 200);

frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

}

class LabelFrame extends JFrame {

 // створюємо панель

JPanel panel=new JPanel();

LabelFrame() {

 // вирівнювання за замовчуванням (CENTER)

JLabel label1 = new JLabel («Багато левів,»);

 // вирівнювання вліво

JLabel label2 = new JLabel («тигрів з тигрицями», SwingConstants.LEFT);

 // мітка без тексту, вирівнювання за замовчуванням

JLabel label3 = new JLabel();

 // створюємо іконку

Icon icon = new ImageIcon («icon.gif»);

 // створюємо мітку із зображенням

JLabel label4 = new JLabel(icon);

 // задаємо текст для label3

label3.setText («і ведмедів»);

 // встановлюємо вирівнювання

label3.setHorizontalAlignment (SwingConstants.RIGHT);

 // додаємо мітки в панель

panel.add(label1);

panel.add(label2);

panel.add(label3);

panel.add(label4);

 // додаємо панель у фрейм

this.add(panel);

}

}

2. Кнопки

Кнопки вже застосовувалися раніше у прикладах. У Swing їх реалізовує компонент JButton. Кнопка генерує подію ActionEvent, коли на неї натискають. Щоб обробити цю подію в програмі реєструється відповідний обробник ActionListener, який повинен реалізовувати метод actionPerformed(). Метод actionPerformed отримує в якості аргумента подію, що відбулася. Крім мітки на кнопці може бути розміщене зображення. Клас JButton має відповідний конструктор для задання напису, зображення або обох зразу. Завантаження зображення здійснює зручний у використанні клас ImageIcon. Наступний приклад демонструє створення кнопки із зображенням та обробки події натиснення кнопки.

import java.awt. FlowLayout;

import java.awt.event. ActionEvent;

import java.awt.event. ActionListener;

import javax.swing. Icon;

import javax.swing. ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

public class PictureButton {

public static void main (String[] args) {

ButtonFrame frame = new ButtonFrame();

frame.setSize (300, 100);

frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

}

class ButtonFrame extends JFrame {

JLabel label=new JLabel();

int i=0;

ButtonFrame() {

Icon icon = new ImageIcon («icon.gif»);

JButton button = new JButton(icon);

 // додаємо обробник подій, що визначається у внутрішньому класі

button.addActionListener (new ActionListener() {

public void actionPerformed (ActionEvent ae) {

i++;

label.setText («Натиснуто разів: «+ i);

}

});

 // встанолюємо менеджер розташування

setLayout (new FlowLayout());

add(button);

add(label);

}

}

3. Таблиця

Дуже часто виникає необхідність в додатках показати дані у вигляді таблиці з певною кількістю рядків і стовпців. У Java Swing для відображення табличних даних використовується комопнент JTable. JTable всередині себе не містить дані, а служить тільки для їх відображення.

Розглянемо простий приклад створення і використання таблиці. Для цього ми створимо таблицю, заповнимо її тестовими даними і розмістимо на панелі прокрутки. Розміщення таблиці на панелі прокрутки - це звичайна практика, тому що це зручно і красиво.

Існує кілька способів того, як сказати JTable, які дані і стовпці відображувати. Тут ми розглянемо найпростіший спосіб. Для початку визначимо, які стобци ми хочемо показувати в таблиці. Для прикладу я взяв стовпці провідника Windows - Name (Ім'я файлу або папки), Last modified (Дата останньої модифікації), Type (Тип) і Size (Розмір).

Створення проекту

Розібравшись з основними компонентами нашої майбутньої програми можна приступити до її програмування. Як було сказано вище програма буде створюватись за допомогою мови програмування Java. Середовище для програмування ми використовуватимемо NetBeans IDE 8.1. Для початку програмування потрібно запустити дане середовище і за допомогою вкладок Файл-> Cоздать проекти, створити новий прект. Пысля вибраних дій перед нами з'явиться вікно де ми вибираєм Приложение Java. Пысля цього перед нами выдкриэться середовище програмуваня де ми можемо вводити код програми. Лістинг програми наведений у додатку А, B, C, D

Вікно середовища програмування NetBeans IDE 8.1

5. Опис програми і тестування програми

Після запрограмування нашого проекту його необхідно відкомпілювати. Для цього натискаємо клавішу F6. Якщо програма не містить помилок то компілятор видасть повідомлення про успішне завершення і запустить наш проект на виконання. Тут ми вже зможемо протестувати створену програму. Тестування повинне забезпечити перевірку працездатності функцій для всіх варіантів вхідних даних.

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

Головне вікно програми

Тут нам запропоноавоно три таблиці, це: замовники, продукція, постачальники. Для прикладу виберемо таблицю «Продукція». Для вибору цієї таблиці просто натискаєс правою клавішою миші на відповідному надписі. Після натиснення клавіши відкриється нове вікна.

Вікно програми таблиці Продукції

На даному вікні в таблиці відсутня інформація. Щоб отримати дані про продукцію з зовнішньої бази даних необхідно натиснути на кнопку «Завантажити дані». Після цього наша таблиця заповниться інформацією. На рисунку зображено вікно із завантаженими даними

Вікно програми таблиці Продукції із завантаженими даними

Після завантаження даних ми можемо виконати ряд дій по роботі з заданою таблицею, зокрема: видаляти дані, додавати нові записи, зберігати дані у зовнішню БД. Для прикладу перевіремо роботу функції видалення запису. Для цього виділемо рядок з даними, який ми хочемо видалити і натиснемо кнопку «видалити». Результат зображено на рис.

Вікно програми таблиці Продукції видалення даних

Як ми бачимо у нас зник перший рядок. Отже видалення даних спрацювало. Тепер додамо в нашу таблицю новий запис. Для цього потрыбно натиснути кнопку «Додати запис». Перед нами з'явиться вікно куди потрібно ввести дані.

Вікно введення даних

Після введення нових даних вони відображатимуться в нашій таблиці.

Вікно з введеними даними

Після завершення роботи з програмою натискаємо кнопку зберегти і закриваємо всі вікна.

Провівши тестування створеної програми можна зробити висновок, що програма працює без помилок і забезпечує повноцінну роботу при будь=яких вхідних даних. А також здійснює збереження даних без втрат.

Висновок

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

1. Наявність - містить інформацію про предмети, які є наявні а складі. Тут будуть визначені наступні поля:

· ID - унікальний код продукту

· Name - назва моделі продукту

· Type - тип продукту

· Cost - ціна за одиницю продукції

· Count - кількість штук продукції на складі.

2. Постачальники - містить інформацію про постачальників продукції фірмі, що займається продажем. Поля даної таблиці:

· ID - унікльний код постачальника

· Name - найменування фірми постачальника

· Type - тип постачальної продукції

· Adress - юридична адреса постачальника

· Tell - номер телефона фірми постачальника

3. Замовлення - містить інформацію про здійснені замовлення на купівлю товару. Поля:

· ID - унікальний код замовника

· PIB - Прізвище, ім'я, по-батькові замовника

· Adress - адреса замовлення

· Tell - контактний номер телефона

Програма повноцінно працює при будь-яких вхідних даних і може бути впроваджена у виробництво і застосовуватись компаніями, що займаються даним видом роботи.

Список використаної літератури

1. Matthew Robinson, Pavel Vorobiev: Swing, Second Edition, Manning, ISBN 1-930110-88-X

2. David M. Geary: Graphic Java 2, Volume 2: Swing, Prentice Hall, ISBN 0-13-079667-0

3. John Zukowski: The Definitive Guide to Java Swing, Third Edition, Apress, ISBN 1-59059-447-9

4. James Elliott, Robert Eckstein, Marc Loy, David Wood, Brian Cole: Java Swing, O'Reilly, ISBN 0-596-00408-7

5. Kathy Walrath, Mary Campione, Alison Huml, Sharon Zakhour: The JFC Swing Tutorial: A Guide to Constructing GUIs, Addison-Wesley Professional, ISBN 0-201-91467-0

6. Joshua Marinacci, Chris Adamson: Swing Hacks, O'Reilly, ISBN 0-596-00907-0

7. Герберт Шилдт: SWING: руководство для начинающих. - М.: «Вильямс», 2007. - С. 704. - ISBN 0-07-226314-8

8. Иван Портянкин: Swing: Эффектные пользовательские интерфейсы, Санкт-Петербург ISBN 5-469-00005-2

Додаток А

Лістинг Main форми

package javaapplication2;

public class Main extends javax.swing.JFrame {

/**

* Creates new form Main

*/

public Main() {

initComponents();

}

@SuppressWarnings («unchecked»)

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

private void initComponents() {

jLabel1 = new javax.swing.JLabel();

jPanel1 = new javax.swing.JPanel();

jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

jLabel4 = new javax.swing.JLabel();

setDefaultCloseOperation (javax.swing. WindowConstants.EXIT_ON_CLOSE);

jLabel1.setFont (new java.awt. Font («Times New Roman», 1, 24)); // NOI18N

jLabel1.setText («Фірма комп'ютерних комплектуючих»);

jLabel2.setFont (new java.awt. Font («Times New Roman», 0, 18)); // NOI18N

jLabel2.setText («Замовники»);

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

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

click(evt);

}

});

jLabel3.setFont (new java.awt. Font («Times New Roman», 0, 18)); // NOI18N

jLabel3.setText («Продукція»);

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

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

jLabel3click(evt);

}

});

jLabel4.setFont (new java.awt. Font («Times New Roman», 0, 18)); // NOI18N

jLabel4.setText («Постачальники»);

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

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

jLabel4click(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()

addGap (109, 109, 109)

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

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

addPreferredGap (javax.swing. LayoutStyle. ComponentPlacement.RELATED, 17, javax.swing. GroupLayout.PREFERRED_SIZE)

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

addComponent(jLabel3)

addComponent(jLabel2))

addGap (17, 17, 17))

addComponent(jLabel4))

addContainerGap (115, Short.MAX_VALUE))

);

jPanel1Layout.setVerticalGroup (

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

addGroup (jPanel1Layout.createSequentialGroup()

addContainerGap()

addComponent(jLabel2)

addGap (18, 18, 18)

addComponent(jLabel3)

addGap (18, 18, 18)

addComponent(jLabel4)

addContainerGap (20, 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()

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

addGroup (layout.createSequentialGroup()

addGap (29, 29, 29)

addComponent(jLabel1))

addGroup (layout.createSequentialGroup()

addGap (62, 62, 62)

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

addContainerGap (25, Short.MAX_VALUE))

);

layout.setVerticalGroup (

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

addGroup (layout.createSequentialGroup()

addContainerGap()

addComponent(jLabel1)

addGap (34, 34, 34)

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

addContainerGap (34, Short.MAX_VALUE))

);

pack();

} // </editor-fold>

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

new NewJFrame1 ().setVisible(true); // TODO add your handling code here:

}

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

new NewJFrame().setVisible(true); // TODO add your handling code here:

}

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

new NewJFrame2 ().setVisible(true); // TODO add your handling code here:

}

/**

* @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 (Main.class.getName()).log (java.util.logging. Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

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

} catch (IllegalAccessException ex) {

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

} catch (javax.swing. UnsupportedLookAndFeelException ex) {

java.util.logging. Logger.getLogger (Main.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 Main().setVisible(true);

}

});

}

 // Variables declaration - do not modify

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JPanel jPanel1;

 // End of variables declaration

}

Додаток Б

Лістинг NewJFrame форми

package javaapplication2;

import java.sql. Connection;

import java.sql. DriverManager;

import java.sql. ResultSet;

import java.sql.SQLException;

import java.sql. Statement;

import javax.swing.table. DefaultTableModel;

import javax.swing.JOptionPane;

public class NewJFrame extends javax.swing.JFrame {

Connection connection;

Statement stmt;

ResultSet rs;

DefaultTableModel model = new DefaultTableModel();

Object[] row = new Object[5];

public NewJFrame() {

initComponents();

}

@SuppressWarnings («unchecked»)

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

private void initComponents() {

jScrollPane1 = new javax.swing.JScrollPane();

jTable1 = new javax.swing.JTable();

jButton1 = new javax.swing.JButton();

jButton2 = new javax.swing.JButton();

jButton3 = new javax.swing.JButton();

jButton4 = new javax.swing.JButton();

jButton5 = new javax.swing.JButton();

setDefaultCloseOperation (javax.swing. WindowConstants.EXIT_ON_CLOSE);

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

new Object [][] {

{null, null, null, null},

{null, null, null, null},

{null, null, null, null},

{null, null, null, null}

},

new String [] {

«Title 1», «Title 2», «Title 3», «Title 4»

}

));

jScrollPane1.setViewportView(jTable1);

jButton1.setText («Завантажити дані»);

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

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

jButton1ActionPerformed(evt);

}

});

jButton2.setText («Видалити»);

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

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

jButton2ActionPerformed(evt);

}

});

jButton3.setText (» Додати запис»);

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

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

jButton3ActionPerformed(evt);

}

});

jButton4.setText («Зберегти»);

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

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

jButton4ActionPerformed(evt);

}

});

jButton5.setText («Закрити»);

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

getContentPane().setLayout(layout);

layout.setHorizontalGroup (

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

addGroup (layout.createSequentialGroup()

addComponent(jButton1)

addGap (18, 18, 18)

addComponent(jButton2)

addGap (18, 18, 18)

addComponent(jButton3)

addGap (18, 18, 18)

addComponent(jButton4)

addGap (18, 18, 18)

addComponent(jButton5))

addComponent(jScrollPane1)

);

layout.setVerticalGroup (

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

addGroup (layout.createSequentialGroup()

addGap (5, 5, 5)

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

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

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

addComponent(jButton1)

addComponent(jButton2)

addComponent(jButton3)

addComponent(jButton4)

addComponent(jButton5))

addContainerGap())

);

pack();

} // </editor-fold>

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

{

String errMessage = null;

try {

Class.forName («org.postgresql. Driver»).newInstance();

connection = DriverManager.getConnection (

«jdbc:postgresql://localhost:5432/new1», «postgres», «123321»);

String query = «select * from prod»;

stmt = connection.createStatement();

rs = stmt.executeQuery(query);

try {

int i=-1;

Object [] columns ={«ID», «Назва», «Тип», «Ціна», «Кількість»};

model.setColumnIdentifiers(columns);

this.jTable1.setModel(model);

while (rs.next())

{

i+=1;

row[0]=rs.getString («ID»);

row[1]=rs.getString («name»);

row[2]=rs.getString («type»);

row[3]=rs.getString («cost»);

row[4]=rs.getString («count»);

model.addRow(row);

System.out.println (rs.getString(1)

+ «\t» + rs.getString(2)

+ «\t»);

}

rs.close();

} catch (SQLException e) {

errMessage = e.getMessage();

System.out.println(errMessage);

}

} catch (Exception e) {

errMessage = e.getMessage();

System.out.println(errMessage);

}

}

}

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

int sel= this.jTable1.getSelectedRow();

if (sel>=0)

{

model.removeRow(sel);

}

}

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

row[0]=JOptionPane.showInputDialog («Введіть ID товару»);

row[1]=JOptionPane.showInputDialog («Введіть назву товару»);

row[2]=JOptionPane.showInputDialog («Введітьтип товару»);

row[3]=JOptionPane.showInputDialog («Введіть ціну товару»);

row[4]=JOptionPane.showInputDialog («Введіть к-сть товару»);

model.addRow(row);

}

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

String errMessage = null;

try {

Class.forName («org.postgresql. Driver»).newInstance();

connection = DriverManager.getConnection («jdbc:postgresql://localhost:5432/new1», «postgres», «123321»);

stmt = connection.createStatement();

try {

int i=0;

int end = this.jTable1.getRowCount();

String query = «truncate table prod»;

stmt.execute(query);

while (i<=end)

{

query = «INSERT INTO prod (\ «ID\», \ «Name\», \ «Type\», \ «Cost\», \ «Count\») VALUES ('»+this.jTable1.getValueAt (i, 0)+» ', '»

+this.jTable1.getValueAt (i, 1)+» ', ' «+this.jTable1.getValueAt (i, 2)+» ', ' «+this.jTable1.getValueAt (i, 3)+» ', '»

+this.jTable1.getValueAt (i, 4)+ «')»;

System.out.println(query);

stmt.execute(query);

i+=1;

}

rs.close();

 // stmt.close();

} catch (SQLException e) {

errMessage = e.getMessage();

System.out.println(errMessage);

}

} catch (Exception e) {

errMessage = e.getMessage();

System.out.println(errMessage);

}

}

/**

* @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 (NewJFrame.class.getName()).log (java.util.logging. Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

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

} catch (IllegalAccessException ex) {

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

} catch (javax.swing. UnsupportedLookAndFeelException ex) {

java.util.logging. Logger.getLogger (NewJFrame.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 NewJFrame().setVisible(true);

new Main().setVisible(true);

}

});

}

 // Variables declaration - do not modify

private javax.swing.JButton jButton1;

private javax.swing.JButton jButton2;

private javax.swing.JButton jButton3;

private javax.swing.JButton jButton4;

private javax.swing.JButton jButton5;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JTable jTable1;

 // End of variables declaration

}

Додаток В

Лістинг NewJFrame1 форми

package javaapplication2;

import java.sql. Connection;

import java.sql. DriverManager;

import java.sql. ResultSet;

import java.sql.SQLException;

import java.sql. Statement;

import javax.swing.table. DefaultTableModel;

import javax.swing.JOptionPane;

public class NewJFrame1 extends javax.swing.JFrame {

Connection connection;

Statement stmt;

ResultSet rs;

DefaultTableModel model = new DefaultTableModel();

Object[] row = new Object[4];

public NewJFrame1 () {

initComponents();

}

/**

* 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() {

jScrollPane1 = new javax.swing.JScrollPane();

jTable1 = new javax.swing.JTable();

jButton5 = new javax.swing.JButton();

jButton4 = new javax.swing.JButton();

jButton3 = new javax.swing.JButton();

jButton2 = new javax.swing.JButton();

jButton1 = new javax.swing.JButton();

setDefaultCloseOperation (javax.swing. WindowConstants.EXIT_ON_CLOSE);

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

new Object [][] {

{null, null, null, null},

{null, null, null, null},

{null, null, null, null},

{null, null, null, null}

},

new String [] {

«Title 1», «Title 2», «Title 3», «Title 4»

}

));

jScrollPane1.setViewportView(jTable1);

jButton5.setText («Закрити»);

jButton4.setText («Зберегти»);

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

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

jButton4ActionPerformed(evt);

}

});

jButton3.setText (» Додати запис»);

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

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

jButton3ActionPerformed(evt);

}

});

jButton2.setText («Видалити»);

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

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

jButton2ActionPerformed(evt);

}

});

jButton1.setText («Завантажити дані»);

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

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

jButton1ActionPerformed(evt);

}

});

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

getContentPane().setLayout(layout);

layout.setHorizontalGroup (

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

addGroup (layout.createSequentialGroup()

addComponent(jButton1)

addGap (18, 18, 18)

addComponent(jButton2)

addGap (18, 18, 18)

addComponent(jButton3)

addGap (18, 18, 18)

addComponent(jButton4)

addGap (18, 18, 18)

addComponent(jButton5))

addComponent(jScrollPane1)

);

layout.setVerticalGroup (

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

addGroup (layout.createSequentialGroup()

addGap (5, 5, 5)

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

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

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

addComponent(jButton1)

addComponent(jButton2)

addComponent(jButton3)

addComponent(jButton4)

addComponent(jButton5))

addContainerGap())

);

pack();

} // </editor-fold>

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

String errMessage = null;

try {

Class.forName («org.postgresql. Driver»).newInstance();

connection = DriverManager.getConnection («jdbc:postgresql://localhost:5432/new1», «postgres», «123321»);

stmt = connection.createStatement();

try {

int i=0;

int end = this.jTable1.getRowCount();

String query = «truncate table zamov»;

stmt.execute(query);

while (i<=end)

{

query = «INSERT INTO prod (\ «ID\», \ «PIB\», \ «adress\», \ «tell\») VALUES ('»+this.jTable1.getValueAt (i, 0)+» ', '»

+this.jTable1.getValueAt (i, 1)+«', ' «+this.jTable1.getValueAt (i, 2)+» ', ' «+this.jTable1.getValueAt (i, 3)+» ')»;

System.out.println(query);

stmt.execute(query);

i+=1;

}

rs.close();

} catch (SQLException e) {

errMessage = e.getMessage();

System.out.println(errMessage);

}

} catch (Exception e) {

errMessage = e.getMessage();

System.out.println(errMessage);

}

}

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

row[0]=JOptionPane.showInputDialog («Введіть ID замовника»);

row[1]=JOptionPane.showInputDialog («Введіть ПІБ»);

row[2]=JOptionPane.showInputDialog («Введіть Адресу»);

row[3]=JOptionPane.showInputDialog («Введіть телефон замовника»);

model.addRow(row);

}

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

int sel= this.jTable1.getSelectedRow();

if (sel>=0)

{

model.removeRow(sel);

}

}

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

{

String errMessage = null;

try {

Class.forName («org.postgresql. Driver»).newInstance();

connection = DriverManager.getConnection (

«jdbc:postgresql://localhost:5432/new1», «postgres», «123321»);

String query = «select * from zamov»;

stmt = connection.createStatement();

rs = stmt.executeQuery(query);

try {

int i=-1;

Object [] columns ={«ID», «ПІБ», «Адреса», «Телефон»};

model.setColumnIdentifiers(columns);

this.jTable1.setModel(model);

while (rs.next())

{

i+=1;

row[0]=rs.getString («ID»);

row[1]=rs.getString («PIB»);

row[2]=rs.getString («adress»);

row[3]=rs.getString («tell»);

model.addRow(row);

System.out.println (rs.getString(1)

+ «\t» + rs.getString(2)

+ «\t»);

}

rs.close();

} catch (SQLException e) {

errMessage = e.getMessage();

System.out.println(errMessage);

}

} catch (Exception e) {

errMessage = e.getMessage();

System.out.println(errMessage);

}

}

}

/**

* @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 (NewJFrame1.class.getName()).log (java.util.logging. Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

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

} catch (IllegalAccessException ex) {

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

} catch (javax.swing. UnsupportedLookAndFeelException ex) {

java.util.logging. Logger.getLogger (NewJFrame1.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 NewJFrame1 ().setVisible(true);

}

});

}

 // Variables declaration - do not modify

private javax.swing.JButton jButton1;

private javax.swing.JButton jButton2;

private javax.swing.JButton jButton3;

private javax.swing.JButton jButton4;

private javax.swing.JButton jButton5;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JTable jTable1;

 // End of variables declaration

}

Додаток Г

Лістинг NewJFrame2 форми

package javaapplication2;

import java.sql. Connection;

import java.sql. DriverManager;

import java.sql. ResultSet;

import java.sql.SQLException;

import java.sql. Statement;

import javax.swing.table. DefaultTableModel;

import javax.swing.JOptionPane;

public class NewJFrame2 extends javax.swing.JFrame {

Connection connection;

Statement stmt;

ResultSet rs;

DefaultTableModel model = new DefaultTableModel();

Object[] row = new Object[5];

public NewJFrame2 () {

initComponents();

}

/**

* 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() {

jScrollPane1 = new javax.swing.JScrollPane();

jTable1 = new javax.swing.JTable();

jButton1 = new javax.swing.JButton();

jButton2 = new javax.swing.JButton();

jButton3 = new javax.swing.JButton();

jButton4 = new javax.swing.JButton();

jButton5 = new javax.swing.JButton();

setDefaultCloseOperation (javax.swing. WindowConstants.EXIT_ON_CLOSE);

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

new Object [][] {

{null, null, null, null},

{null, null, null, null},

{null, null, null, null},

{null, null, null, null}

},

new String [] {

«Title 1», «Title 2», «Title 3», «Title 4»

}

));

jScrollPane1.setViewportView(jTable1);

jButton1.setText («Завантажити дані»);

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

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

jButton1ActionPerformed(evt);

}

});

jButton2.setText («Видалити»);

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

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

jButton2ActionPerformed(evt);

}

});

jButton3.setText (» Додати запис»);

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

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

jButton3ActionPerformed(evt);

}

});

jButton4.setText («Зберегти»);

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

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

jButton4ActionPerformed(evt);

}

});

jButton5.setText («Закрити»);

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

getContentPane().setLayout(layout);

layout.setHorizontalGroup (

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

addGroup (layout.createSequentialGroup()

addComponent(jButton1)

addGap (18, 18, 18)

addComponent(jButton2)

addGap (18, 18, 18)

addComponent(jButton3)

addGap (18, 18, 18)

addComponent(jButton4)

addGap (18, 18, 18)

addComponent(jButton5))

addComponent(jScrollPane1)

);

layout.setVerticalGroup (

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

addGroup (layout.createSequentialGroup()

addGap (5, 5, 5)

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

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

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

addComponent(jButton1)

addComponent(jButton2)

addComponent(jButton3)

addComponent(jButton4)

addComponent(jButton5))

addContainerGap())

);

pack();

} // </editor-fold>

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

{

String errMessage = null;

try {

Class.forName («org.postgresql. Driver»).newInstance();

connection = DriverManager.getConnection (

«jdbc:postgresql://localhost:5432/new1», «postgres», «123321»);

String query = «select * from post»;

stmt = connection.createStatement();

rs = stmt.executeQuery(query);

try {

int i=-1;

Object [] columns ={«ID», «Назва», «Тип», «Адреса», «Телефон»};

model.setColumnIdentifiers(columns);

this.jTable1.setModel(model);

while (rs.next())

{

i+=1;

row[0]=rs.getString («ID»);

row[1]=rs.getString («name»);

row[2]=rs.getString («type»);

row[3]=rs.getString («adress»);

row[4]=rs.getString («tell»);

model.addRow(row);

System.out.println (rs.getString(1)

+ «\t» + rs.getString(2)

+ «\t»);

}

rs.close();

} catch (SQLException e) {

errMessage = e.getMessage();

System.out.println(errMessage);

}

} catch (Exception e) {

errMessage = e.getMessage();

System.out.println(errMessage);

}

}

}

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

int sel= this.jTable1.getSelectedRow();

if (sel>=0)

{

model.removeRow(sel);

}

}

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

row[0]=JOptionPane.showInputDialog («Введіть ID постачальника»);

row[1]=JOptionPane.showInputDialog («Введіть назву фірми постачальника»);

row[2]=JOptionPane.showInputDialog («Введіть тип товару, який постачає постачальник»);

row[3]=JOptionPane.showInputDialog («Введіть адресу постачальника»);

row[4]=JOptionPane.showInputDialog («Введіть контактний телефон постачальника»);

model.addRow(row);

}

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

String errMessage = null;

try {

Class.forName («org.postgresql. Driver»).newInstance();

connection = DriverManager.getConnection («jdbc:postgresql://localhost:5432/new1», «postgres», «123321»);

stmt = connection.createStatement();

try {

int i=0;

int end = this.jTable1.getRowCount();

String query = «truncate table post»;

stmt.execute(query);

while (i<=end)

{

query = «INSERT INTO post (\ «ID\», \ «name\», \ «type\», \ «adress\», \ «tell\») VALUES ('»+this.jTable1.getValueAt (i, 0)+» ', '»

+this.jTable1.getValueAt (i, 1)+» ', ' «+this.jTable1.getValueAt (i, 2)+» ', ' «+this.jTable1.getValueAt (i, 3)+» ', '»

+this.jTable1.getValueAt (i, 4)+ «')»;

System.out.println(query);

stmt.execute(query);

i+=1;

}

rs.close();

 // stmt.close();

} catch (SQLException e) {

errMessage = e.getMessage();

System.out.println(errMessage);

}

} catch (Exception e) {

errMessage = e.getMessage();

System.out.println(errMessage);

}

}

/**

* @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 (NewJFrame2.class.getName()).log (java.util.logging. Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

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

} catch (IllegalAccessException ex) {

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

} catch (javax.swing. UnsupportedLookAndFeelException ex) {

java.util.logging. Logger.getLogger (NewJFrame2.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 NewJFrame2 ().setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JButton jButton1;

private javax.swing.JButton jButton2;

private javax.swing.JButton jButton3;

private javax.swing.JButton jButton4;

private javax.swing.JButton jButton5;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JTable jTable1;

 // End of variables declaration

}

Размещено на Allbest.ru


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

  • Позначення та назва програми, технічне забезпечення, необхідне для функціонування. Призначення програми, функціональні обмеження на застосування. Опис логічної структури, алгоритм. Типи комп'ютерів та пристроїв, що використовуються при роботі програми.

    курсовая работа [284,0 K], добавлен 01.04.2016

  • Мови програмування. Алгоритм програми, функціональні обмеження на застосування. Опис логічної структури. Типи комп'ютерів, що використовуються при роботі програми. Виклик і завантаження. Організація, характер та попередня підготовка вихідних даних.

    курсовая работа [95,0 K], добавлен 01.04.2016

  • Аналіз предметної області і постановка задачі на розробку програми для автоматизації роботи автопідприємства. Перелік та опис використаних компонентів та основних процедур програми. Опис структур та методів обробки даних. Інструкція для користувача.

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

  • Загальна характеристика алгоритму та опис програми. Керівництво системного програміста. Особливості запуску програми в Linux, FreeBSD, Windows. Аналіз результатів тестування програми, що проектується, вивчення та оцінка її практичної ефективності.

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

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

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

  • Позначення і назва програми, забезпечення, необхідне для її функціонування. Опис логічної структури, алгоритм, структура. Типи комп'ютерів і пристроїв, що використовуються при роботі програми. Формат, описання та спосіб кодування вхідних і вихідних даних.

    курсовая работа [163,6 K], добавлен 01.04.2016

  • Розробка та схема алгоритму проектованої гри. Особливості мови програмування та середовища "Microsoft Visual Studio C++ 2008 Express Edition". Лістинг програми та загальний опис її роботи, аналіз отриманих результатів та оцінка практичної ефективності.

    курсовая работа [762,8 K], добавлен 03.05.2015

  • Створення програми, що видає результати голосування та підсумки виборів. Алгоритм розробки програми. Опис структури даних та вимоги до них, стандартних процедур та функцій, файлів та їх призначення. Приклад тестування та результати роботи програми.

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

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

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

  • Розробка та налагодження програми "Заробітна плата" на мові високого рівня С++ для комп'ютерів з операційною системою Windows 7. Текстуальний опис алгоритму. Створення UML-діаграми та обробка інформації з бази даних. Інструкція по роботі з програмою.

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

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