Вы находитесь на странице: 1из 72

КЫРГЫЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. И.

Раззакова

Кафедра «ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРНЫХ


СИСТЕМ»

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

«Проектирование ПО IV/ Архитектура вычислительных систем»


(Java)

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

Доцент кафедры ПОКС Стамкулова Г.К.

Бишкек – 2020
Создание БД и подключение к NetBeans IDE 8.2
Тема: Информационная система детского сада

Оглавление
1. Создание нового проекта в SQL Server и построение архитектуры проекта...........................................3

1.1. Создание новой базы данных (далее БД)..........................................................................................3

1.2. Создание представлений.........................................................................................................................6

1.3. Создание хранимых процедур для добавления\удаления\ редактирования данных в таблицах....7

2. Создание проекта на NetBeans IDE 8.2.....................................................................................................11

3. Создание структуры проекта.....................................................................................................................11

5. Работа с отчетом IReport...........................................................................................................................28

6. Создание графика......................................................................................................................................48
1. Создание нового проекта в SQL Server и построение архитектуры
проекта.
1.1. Создание новой базы данных (далее БД)

Рис.1.
1.2. Задаем имя БД, в данном случаем у меня название shop_netbeans

Рис.2 –
1.3. Создаем семь таблиц как показано на рис.3
Рис.3
1.4. Заполняем каждую таблицу данными как указано в соответствующей
картинке

Рис.4 – таблица children

Рис.5 – таблица employee

Рис.6 – таблица group


Рис.7 – таблица kruzhok

Рис.8 – таблица nationality

Рис.9 – таблица position

Рис.9 – таблица table_login

В каждой таблице, к поля id, нужно задать «да» , в категории «спецификатор


индификатора» как на рис.10

Рис.10 – спецификатор индификатора


 Создадим связи в таблицах как показано на рисунке ниже:

Рис.11 - связи таблиц


1.2. Создание представлений

Рис.12 – представления

Рис.13 – представление для таблицы children


Рис.14 – представление для таблицы employee

Рис.15 – представление для таблицы position

Рис.16 – представление для первой указанной группы


*Для остальных трех групп создается идентично, меняется только условие
WHERE (dbo.[group].id = 2) и задается имя представлению соответственно
(View_id2,3,4 – соответственно)
1.3. Создание хранимых процедур для добавления\удаления\ редактирования
данных в таблицах

Рис.17 – хранимые процедуры проекта

1. Создание новых сотрудников


create procedure [dbo].[insert_employee]
@FIO varchar(20),
@dateborn varchar(20),
@position varchar(20),
@adress varchar(20),
@tel_number varchar(25),
@kruzhok varchar(20),
@group varchar(20)
AS
begin
declare @posid tinyint ;
update position
set @posid = position.id
where position.position= @position

declare @kruzhid tinyint ;


update kruzhok
set @kruzhid = kruzhok.id
where kruzhok.kruzhok= @kruzhok

declare @grid tinyint ;


update [group]
set @grid = [group].id
where [group].groups= @group
insert into employee
( FIO, dateborn, position, adress, tel_number,kruzhok,groups )
values( @FIO, @dateborn, @posid, @adress, @tel_number, @kruzhid ,@grid )
end
2. Обновление данных в сотрудниках
create procedure [dbo].[update_employee]
@id tinyint,
@FIO varchar(20),
@dateborn varchar(20),
@position varchar(20),
@adress varchar(20),
@tel_number varchar(25),
@kruzhok varchar(20),
@group varchar(20)
AS
begin
declare @posid tinyint ;
update position
set @posid = position.id
where position.position= @position

declare @kruzhid tinyint ;


update kruzhok
set @kruzhid = kruzhok.id
where kruzhok.kruzhok= @kruzhok

declare @grid tinyint ;


update [group]
set @grid = [group].id
where [group].groups= @group

update employee
set FIO =@FIO, dateborn = @dateborn , position = @position, adress = @adress ,
tel_number = @tel_number ,
kruzhok = @kruzhid,groups= @grid
where id=@id
end
3. Удаление данных в сотрудниках
ALTER procedure [dbo].[delete_employee]
@id tinyint
as
delete from employee
where id= @id
4. Создание новых данных в таблице child
create procedure [dbo].[insert_child]
@FIO varchar(20),
@dateborn varchar(20),
@address varchar(20),
@tel_dad varchar(25),
@tel_mom varchar(25),
@groups varchar(20),
@kruzhok varchar(20),
@nationality varchar(20)
AS
begin
declare @grid tinyint ;
update [group]
set @grid = [group].id
where [group].groups= @groups

declare @kruzhid tinyint ;


update kruzhok
set @kruzhid = kruzhok.id
where kruzhok.kruzhok= @kruzhok

declare @natid tinyint ;


update nationality
set @natid = [nationality].id
where [nationality].nationality= @nationality

insert into children


( FIO, dateborn, address, tel_dad,tel_mom ,groups, kruzhok, nationality)
values( @FIO, @dateborn, @address, @tel_dad,@tel_mom ,@grid, @kruzhid ,@natid )
end
5. Создание новых данных в таблице child
create procedure [dbo].[insert_child]
@FIO varchar(20),
@dateborn varchar(20),
@address varchar(20),
@tel_dad varchar(25),
@tel_mom varchar(25),
@groups varchar(20),
@kruzhok varchar(20),
@nationality varchar(20)
AS
begin
declare @grid tinyint ;
update [group]
set @grid = [group].id
where [group].groups= @groups

declare @kruzhid tinyint ;


update kruzhok
set @kruzhid = kruzhok.id
where kruzhok.kruzhok= @kruzhok

declare @natid tinyint ;


update nationality
set @natid = [nationality].id
where [nationality].nationality= @nationality

insert into children


( FIO, dateborn, address, tel_dad,tel_mom ,groups, kruzhok, nationality)
values( @FIO, @dateborn, @address, @tel_dad,@tel_mom ,@grid, @kruzhid ,@natid )
end
6. Обновление данных в children
create procedure [dbo].[update_child]
@id tinyint,
@FIO varchar(20),
@dateborn varchar(20),
@address varchar(20),
@tel_dad varchar(25),
@tel_mom varchar(25),
@groups varchar(20),
@kruzhok varchar(20),
@nationality varchar(20)
AS
begin
declare @grid tinyint ;
update [group]
set @grid = [group].id
where [group].groups= @groups

declare @kruzhid tinyint ;


update kruzhok
set @kruzhid = kruzhok.id
where kruzhok.kruzhok= @kruzhok

declare @natid tinyint ;


update nationality
set @natid = [nationality].id
where [nationality].nationality= @nationality

update children
set FIO =@FIO, dateborn = @dateborn , [address] = @address , tel_dad = @tel_dad
,tel_mom = @tel_mom,
groups= @grid , kruzhok = @kruzhid, nationality = @natid
where id=@id
end
7. Удаление в children
create procedure [dbo].[delete_child]
@id tinyint
as
delete from children
where id= @id

Сохраняем все процедуры и на данном этапе мы завершаем нашу работу в


MSSQL Server и переходим к подклчению базы данных к NenBeans IDE

2. Создание проекта на NetBeans IDE 8.2


Воспользуемся дополнительными функциями и создадим проект как показано
на рис.1

Рис.16 – создание проекта


2.1. Далее выбираем Java- > Приложение JAVA -> нажимаем на кнопку
«Далее».

Рис.17
2.2. Задаем имя проекту, у меня «Shop»-> нажимаем на кнопку «Готово».
Рис.18
Поздраляю! Вы успешно создали проект.
3. Создание структуры проекта.
3.1. Необходимо нажать левой кнопкой мыши на раздел «Пакеты иходных
кодов»-> «Новый» -> «форма JFrame»

Рис.19 - Создание окна JFrame


3.2. Сохраним название формы по умолчанию( при желании можно
изменить)
Рис.20
3.3. Если у вас появилась такая форма, то вы успешно создали новую форму,
поздравляю !

Рис.21
3.4. Необходимо открыть файл Shop.java и прописать ниже указанный код.
package shop;
// импортируем необходимые пакеты
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author Zapadai
*/

import java.sql.*;
import javax.swing.*;

public class Shop {


// прописываем код для подключения к БД, в поле user, вы указываете любого
//созданного пользователя в MSSQL Server, также можно использовать sa
public static Connection connect() throws ClassNotFoundException {

Connection con =null;


Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionURL="jdbc:sqlserver://localhost:1433;"
+ "databaseName=shop_netbeans;user=NetbeansUser;password=1234";
try{

con=DriverManager.getConnection(connectionURL);
System.out.println("Соединение успешно !");

}
catch(SQLException e){

System.out.println(e);

}
return con;
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws ClassNotFoundException {
// TODO code application logic here
connect();

new NewJFrame().setVisible(true); // прописываем код для отобраежения NewJFrame().


}

}
3.5. Необходимо создать новое окно JFrame, как создавали в пункте 2.1.
Дадим название loginFram-> в появивщемся окне необходимо создать
2 кнопки (Button), 2 Label , 1 – passwordField, 1 JTextField, как на рис.1
Рис.22
На кнопку «Войти» пропишем ниже указанный код

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


// TODO add your handling code here:
try{
conn = Shop.connect();
stored_pro = conn.prepareCall("{call select_login(?, ?)}");
stored_pro.setString(1, jTextField1.getText());
stored_pro.setString(2, this.jPasswordField1.getText());
rs = stored_pro.executeQuery();
if(rs.next()){
JOptionPane.showMessageDialog(null, "Correct user name and password");
rs.close();
stored_pro.close();
conn.close();
NewJFrame s = new NewJFrame();
s.setVisible(true);
}
else{
JOptionPane.showMessageDialog(null, "Wrong user name or password");
}
}
catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
}
На кнопку «Закрыть» пропишем ниже указанный код
System.exit(0);

 Что бы программа заработала, необходимо кроме импортов, подключить


библиотеки указанные на рис.23
 Название этих библиотек можно ввести в поисковике гугл, по вервой же
ссылке можно скачать их бесплатно.
Рис.23- Библиотеки
Чтобы загрузить в проект библиотеки, выполните действия как указаны на
рис.24

Рис.24- добавление .jar файлов


Полный листинг для loginFrame
package shop;
import java.sql.Connection;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;

/**
*
* @author Zapadai
*/
public class loginFrame extends javax.swing.JFrame {
Connection conn = null;
ResultSet rs = null;
CallableStatement stored_pro = null;
/**
* Creates new form loginFrame
*/
public loginFrame() {
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() {

jPanel1 = new javax.swing.JPanel();


jLabel1 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jTextField1 = new javax.swing.JTextField();
jPanel2 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jPasswordField1 = new javax.swing.JPasswordField();

jPanel1.setBackground(new java.awt.Color(255, 255, 255));

jLabel1.setFont(new java.awt.Font("SimSun", 2, 18)); // NOI18N


jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/shop/images (1).png"))); // NOI18N
jLabel1.setAlignmentX(0.5F);

jLabel4.setFont(new java.awt.Font("SimSun", 2, 18)); // NOI18N


jLabel4.setText("Пароль");

jButton1.setBackground(new java.awt.Color(255, 153, 255));


jButton1.setFont(new java.awt.Font("SimSun", 3, 18)); // NOI18N
jButton1.setForeground(new java.awt.Color(255, 255, 255));
jButton1.setText("Войти");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

jButton2.setBackground(new java.awt.Color(255, 153, 255));


jButton2.setFont(new java.awt.Font("SimSun", 3, 18)); // NOI18N
jButton2.setForeground(new java.awt.Color(255, 255, 255));
jButton2.setText("Закрыть");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});

jTextField1.setFont(new java.awt.Font("Yu Gothic", 2, 24)); // NOI18N


jTextField1.setForeground(new java.awt.Color(158, 153, 153));
jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
});

jPanel2.setBackground(new java.awt.Color(255, 102, 255));

jLabel2.setFont(new java.awt.Font("Cambria", 2, 48)); // NOI18N


jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setText("Авторизация");

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


jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 348,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(180, 180, 180))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 73,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(25, 25, 25))
);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 209,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(39, 39, 39)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 304,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 45, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, 304,
javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addGap(129, 129, 129)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 192,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(60, 60, 60)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 183,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(163, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, 38,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 118,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(33, 33, 33)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 47,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 47,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(517, 517, 517))
);

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.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 364, Short.MAX_VALUE)
);

pack();
}// </editor-fold>

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


// TODO add your handling code here:
try{
conn = Shop.connect();
stored_pro = conn.prepareCall("{call select_login(?, ?)}");
stored_pro.setString(1, jTextField1.getText());
stored_pro.setString(2, this.jPasswordField1.getText());
rs = stored_pro.executeQuery();
if(rs.next()){
JOptionPane.showMessageDialog(null, "Correct user name and password");
rs.close();
stored_pro.close();
conn.close();
NewJFrame s = new NewJFrame();
s.setVisible(true);
}
else{
JOptionPane.showMessageDialog(null, "Wrong user name or password");
}
}
catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
}

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


// TODO add your handling code here:
System.exit(0);
}

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


// 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(loginFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(loginFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(loginFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(loginFrame.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 loginFrame().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPasswordField jPasswordField1;
private javax.swing.JTextField jTextField1;
// End of variables declaration
}
Теперь перейдем к ранее созданному окну, NewJFrame и создадим интерфейс для
данной формы как указано на рисунке ниже

Что бы загрузить картинку, нужно создать JLabel -> очистить поле text -> в icon
добавить фотографию.

На каждую кнопку пропишем код , чтоб при нажатии открывалось


соответствующее окно:
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new sotr().setVisible(true);
}

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


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

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


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

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


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

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


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

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


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

Полный листинг
package shop;

/**
*
* @author Zapadai
*/
public class NewJFrame extends javax.swing.JFrame {

/**
* Creates new form NewJFrame
*/
public NewJFrame() {
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() {

jPanel1 = new javax.swing.JPanel();


jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jButton1 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
jButton5 = new javax.swing.JButton();
jButton6 = new javax.swing.JButton();
jLabel2 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jPanel1.setBackground(new java.awt.Color(255, 255, 255));

jButton2.setBackground(new java.awt.Color(255, 204, 255));


jButton2.setText("Старшая группа ");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});

jButton3.setBackground(new java.awt.Color(255, 204, 255));


jButton3.setText("Сотрудники");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});

jButton1.setBackground(new java.awt.Color(255, 204, 255));


jButton1.setText("Список всех детей");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

jButton4.setBackground(new java.awt.Color(255, 204, 255));


jButton4.setText("Младшая группа");
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});

jButton5.setBackground(new java.awt.Color(255, 204, 255));


jButton5.setText("Средняя группа");
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton5ActionPerformed(evt);
}
});

jButton6.setBackground(new java.awt.Color(255, 204, 255));


jButton6.setText("Ясли");
jButton6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton6ActionPerformed(evt);
}
});

jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/shop/images (3).jpg"))); // NOI18N

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(jLabel2)
.addGap(29, 29, 29)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 151, Short.MAX_VALUE)
.addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jButton3, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.PREFERRED_SIZE, 151, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(30, 30, 30)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jButton6, javax.swing.GroupLayout.PREFERRED_SIZE, 143,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton5, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton4, javax.swing.GroupLayout.DEFAULT_SIZE, 144, Short.MAX_VALUE))
.addContainerGap(35, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(89, 89, 89)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jButton6, javax.swing.GroupLayout.PREFERRED_SIZE, 52,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(3, 3, 3)
.addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 47,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 47,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, 48, Short.MAX_VALUE)
.addComponent(jButton4, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(79, 79, 79)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 194,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(47, Short.MAX_VALUE))
);

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


getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
);

pack();
}// </editor-fold>

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


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

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


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

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


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

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


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

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


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

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


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

/**
* @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);
}
});
}

// 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.JButton jButton6;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel1;
// End of variables declaration
}
 Создадим новые JFrame , для остальных окон

Tovar- форма для отображение списка всех детей


Sotr – сотрудники
Saleofgoods – список «средней группы»
Remainders - список «старшей группы»
Provider – список «младшей группы»
Nurcery - список «группы ясли»
 На данном этапе вам нужно создать просто новые JFrame, а каждую из окон
мы разберем ниже.
4. Разберем окно Сотрудников (sotr.java)
Вам необходимо в таком же порядке разположить
- JTable – таблица
- JComboBox – поле со списком
И остальные уже знакомые вам поля для ввода и кнопки

 Пропишем код для кнопки «обновить»


private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
conn = Shop.connect();
stored_pro = conn.prepareCall("{call update_employee (?,?,?,?,?,?,?,?)}");
stored_pro.setString(1, this.jTextField13.getText());
stored_pro.setString(2, this.jTextField9.getText());
stored_pro.setString(3, this.jTextField10.getText());
stored_pro.setString(4, (String)this.jComboBox1.getSelectedItem());
stored_pro.setString(5, this.jTextField11.getText());
stored_pro.setString(6, this.jTextField12.getText());
stored_pro.setString(7, (String)this.jComboBox2.getSelectedItem());
stored_pro.setString(8, (String)this.jComboBox3.getSelectedItem());
stored_pro.execute();
JOptionPane.showMessageDialog(null, "Updated");
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
UpdateJTable2();
}
 Пропишем код для кнопки «добавить»
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
conn = Shop.connect();
stored_pro = conn.prepareCall("{call insert_employee (?,?,?,?,?,?,?)}");
stored_pro.setString(1, this.jTextField9.getText());
stored_pro.setString(2, this.jTextField10.getText());
stored_pro.setString(3, (String)this.jComboBox1.getSelectedItem());
stored_pro.setString(4, this.jTextField11.getText());
stored_pro.setString(5, this.jTextField12.getText());
stored_pro.setString(6, (String)this.jComboBox2.getSelectedItem());
stored_pro.setString(7, (String)this.jComboBox3.getSelectedItem());
stored_pro.execute();
JOptionPane.showMessageDialog(null, "Saved");
jTextField9.setText("");
jTextField10.setText("");
jComboBox1.setSelectedItem(null);
jTextField11.setText("");
jTextField12.setText("");
jComboBox2.setSelectedItem(null);
jComboBox3.setSelectedItem(null);
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
UpdateJTable2();
}

 Пропишем код для кнопки «Удалить»


private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
conn = Shop.connect();
stored_pro = conn.prepareCall("{call delete_employee (?)}");
stored_pro.setString(1, this.jTextField13.getText());
stored_pro.execute();
JOptionPane.showMessageDialog(null, "Deleted");
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
UpdateJTable2();
}
 Пропишем код на событие при открытии формы

private void formWindowOpened(java.awt.event.WindowEvent evt) {


// TODO add your handling code here:
UpdateJTable2();
open_jComboBox1();
open_jComboBox2();
open_jComboBox3();
jComboBox1.setSelectedItem(null);
jComboBox2.setSelectedItem(null);
jComboBox3.setSelectedItem(null);
}
 Пропишем код для отображения данных в таблице
private void UpdateJTable2(){
try{
conn = Shop.connect();
String sql = "SELECT [id], [FIO], [dateborn], [position], [adress], [tel_number],[kruzhok],[groups] FROM
[View_employee]";
statement = conn.createStatement();
rs = statement.executeQuery(sql);
this.jTable2.setModel(DbUtils.resultSetToTableModel(rs));
}
catch(Exception e){
e.printStackTrace();
}
}
 Пропишем код на событие при клике на таблицу, чтобы выбранные данные
отображались автоматически на полях ввода
private void jTable2MousePressed(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
try{
conn = Shop.connect();
int row = jTable2.getSelectedRow();
String id = (jTable2.getModel().getValueAt(row,0).toString());
String query = "select * from View_employee where id='"+id+"'";
PreparedStatement pst=conn.prepareStatement(query);
ResultSet rs = pst.executeQuery();
while(rs.next()){
jTextField13.setText(rs.getString("id"));
jTextField9.setText(rs.getString("FIO"));
jTextField10.setText(rs.getString("dateborn"));
Object selectedItem = jComboBox1.getSelectedItem();
jTextField11.setText(rs.getString("adress"));
jTextField12.setText(rs.getString("tel_number"));
Object selectedItem1 = jComboBox2.getSelectedItem();
Object selectedItem2 = jComboBox3.getSelectedItem();

}
pst.close();
}
catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
}
 Вставим код для каждого поля со списком
*Чтобы в полях со списком отображались не айдишки, а сами данные
private void open_jComboBox1(){
try {
String sql= "Select *from position";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
String position = rs.getString("position");
jComboBox1.addItem(position);
}
}catch (Exception e){
JOptionPane.showMessageDialog(null,e);
}
}

private void open_jComboBox2(){


try {
String sql= "Select *from kruzhok";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();

while(rs.next()){
String kruzhok = rs.getString("kruzhok");
jComboBox2.addItem(kruzhok);
}
}catch (Exception e){
JOptionPane.showMessageDialog(null,e);
}
}
private void open_jComboBox3(){
try {
String sql= "Select *from [group]";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();

while(rs.next()){
String groups = rs.getString("groups");
jComboBox3.addItem(groups);
}
}catch (Exception e){
JOptionPane.showMessageDialog(null,e);
}
}

4. Работа с отчетом IReport


Так как, в полном листинге уже указан код для вывода отчета, давайте же разберем данный
пункт.
 Создадим отчет, создать отчет как указано на нижнем рисунке
 Выбираем подходящий отчет -> нажимаем на «далее».

 В появившемся окне сохраняем название по умолчанию

 Прописываем запрос для вывода данных в отчете

 Нажимаем на кнопку «New»

 Выбираем Database JDBC connection -> далее нажимаем на «next»


 Далее заполняем точь, как на рисунке

 Заполняем поле databaseName, задаем имя базы данных созданное в MSSQL SERVER -> далее
нажимаем на кнопку «Test»

 Если после вышло сообщение как на рисунке ниже, поздравляю, вы успешно создали связь с БД
 Далее нажимаем на «ОК» -> на кнопку «Save».

 Пропишем запрос для вывода данных

select View_employee.id as View_employee_id, View_employee.FIO as View_employee_FIO,


View_employee.dateborn as View_employee_dateborn, View_employee.position as
View_employee_position, View_employee.adress as View_employee_adress, View_employee.tel_number
as View_employee_tel_number, View_employee.kruzhok as View_employee_kruzhok,
View_employee.groups as View_employee_groups from dbo.View_employee as View_employee

 Переносим все данные в соседнее окно -> далее нажимаем на «готово»

 Если нажать на prereview, то можете просмотреть все заполненные данные


 Нажимаем два раза на кнопку «просмотреть отчет» в форме sort.java и
пропишем код:
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

showMeAllReport();

private void showMeAllReport(){

try{
conn = Shop.connect();
JasperDesign jasperDesign = JRXmlLoader.load("C:\\Users\\Zapadai\\Documents\\
NetBeansProjects\\Shop\\src\\shop\\report1.jrxml");
String sql = "SELECT View_employee.\"id\" AS View_employee_id, View_employee.\"FIO\" AS
View_employee_FIO, View_employee.\"dateborn\" AS View_employee_dateborn,
View_employee.\"position\" AS View_employee_position, View_employee.\"adress\" AS
View_employee_adress, View_employee.\"tel_number\" AS View_employee_tel_number,
View_employee.\"kruzhok\" AS View_employee_kruzhok, View_employee.\"groups\" AS
View_employee_groups FROM \"dbo\".\"View_employee\" View_employee";
JRDesignQuery newQuery = new JRDesignQuery();
newQuery.setText(sql);
jasperDesign.setQuery(newQuery);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, conn);
JasperViewer.viewReport(jasperPrint);

}
catch(Exception e){
e.printStackTrace();
}
}
 Идентично создаем еще один отчет, он понадобится для вывода отчета по
введенному айди
Вставим код для кнопки «отчет по№»
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
showById();
}

private void showById(){


try{
conn = Shop.connect();
JasperDesign jasperDesign = JRXmlLoader.load("C:\\Users\\Zapadai\\Documents\\
NetBeansProjects\\Shop\\src\\shop\\report2.jrxml");
String sql = "SELECT View_employee.\"id\" AS View_employee_id, View_employee.\"FIO\" AS
View_employee_FIO, View_employee.\"dateborn\" AS View_employee_dateborn,
View_employee.\"position\" AS View_employee_position, View_employee.\"adress\" AS
View_employee_adress, View_employee.\"tel_number\" AS View_employee_tel_number,
View_employee.\"kruzhok\" AS View_employee_kruzhok, View_employee.\"groups\" AS
View_employee_groups FROM \"dbo\".\"View_employee\" View_employee WHERE
View_employee.\"id\"="+ this.jTextField1.getText();
JRDesignQuery newQuery = new JRDesignQuery();
newQuery.setText(sql);
jasperDesign.setQuery(newQuery);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, conn);
JasperViewer.viewReport(jasperPrint);
}
catch(Exception e){
e.printStackTrace();
}
}

 Полный листинг для sort.java


package shop;
import java.awt.Color;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
import net.proteanit.sql.DbUtils;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JRDesignQuery;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.view.JasperViewer;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
/**
*
* @author Zapadai
*/
public class sotr extends javax.swing.JFrame {
Connection conn = null;
CallableStatement stored_pro = null;
Statement statement = null;
ResultSet rs = null;
PreparedStatement pst = null;
/**
* Creates new form sotr
*/
public sotr() {
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() {

jComboBox3 = new javax.swing.JComboBox<>();


jLabel3 = new javax.swing.JLabel();
jTextField9 = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
jTextField10 = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
jTextField11 = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
jTextField12 = new javax.swing.JTextField();
jScrollPane2 = new javax.swing.JScrollPane();
jTable2 = new javax.swing.JTable();
jComboBox1 = new javax.swing.JComboBox<>();
jLabel7 = new javax.swing.JLabel();
jComboBox2 = new javax.swing.JComboBox<>();
jLabel1 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jTextField13 = new javax.swing.JTextField();
jButton5 = new javax.swing.JButton();
jButton6 = new javax.swing.JButton();
jButton7 = new javax.swing.JButton();
jButton8 = new javax.swing.JButton();
jLabel9 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();

setBackground(new java.awt.Color(204, 204, 255));


addWindowListener(new java.awt.event.WindowAdapter() {
public void windowOpened(java.awt.event.WindowEvent evt) {
formWindowOpened(evt);
}
});

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

jLabel4.setText("Адресс");

jLabel5.setText("Должность");

jTextField11.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField11ActionPerformed(evt);
}
});

jLabel6.setText("Номер телефона");

jTable2.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"
}
));
jTable2.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
jTable2MousePressed(evt);
}
});
jScrollPane2.setViewportView(jTable2);

jComboBox1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox1ActionPerformed(evt);
}
});

jLabel7.setText("Кружок");

jLabel1.setText("№");

jLabel8.setText("Группа");
jLabel2.setText("ФИО");

jTextField13.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField13ActionPerformed(evt);
}
});

jButton5.setText("Добавить ");
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton5ActionPerformed(evt);
}
});

jButton6.setText("Обновить данные");
jButton6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton6ActionPerformed(evt);
}
});

jButton7.setText("удалить запись");
jButton7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton7ActionPerformed(evt);
}
});

jButton8.setText("просмотреть отчет ");


jButton8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton8ActionPerformed(evt);
}
});

jLabel9.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N


jLabel9.setText("Список всех сотрудников");

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()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(20, 20, 20)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
)
.addComponent(jTextField13, javax.swing.GroupLayout.PREFERRED_SIZE, 131,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 65,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 99,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 131,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 86,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, 131,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(32, 32, 32)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
)
.addComponent(jLabel8)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAI
LING, false)
.addComponent(jComboBox3, 0, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(jLabel7, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel6, javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField11, javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE, 129, Short.MAX_VALUE)
.addComponent(jTextField12, javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE, 129, Short.MAX_VALUE)
.addComponent(jComboBox2,
javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addGap(35, 35, 35)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING, false)
.addComponent(jButton5, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton6, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton7, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(61, 61, 61)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING, false)
.addComponent(jButton8, javax.swing.GroupLayout.DEFAULT_SIZE, 156,
Short.MAX_VALUE)
.addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jTextField1)))))
.addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, 131,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addGap(148, 148, 148)
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 98,
javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 778,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(270, 270, 270)
.addComponent(jLabel9)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(8, 8, 8)
.addComponent(jLabel9)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 172,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(jLabel1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField13, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton6)
.addComponent(jTextField1, 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.BASELINE)
.addComponent(jLabel2)
.addComponent(jLabel6))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton5)
.addComponent(jTextField12, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(jLabel7))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton7)
.addComponent(jButton8))
.addGap(1, 1, 1)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel8)
.addComponent(jLabel5))
.addGap(11, 11, 11)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jComboBox3, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(24, 24, 24))
);

pack();
}// </editor-fold>

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


// TODO add your handling code here:
}

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


// TODO add your handling code here:
}
private void UpdateJTable2(){
try{
conn = Shop.connect();
String sql = "SELECT [id], [FIO], [dateborn], [position], [adress], [tel_number],[kruzhok],[groups]
FROM [View_employee]";
statement = conn.createStatement();
rs = statement.executeQuery(sql);
this.jTable2.setModel(DbUtils.resultSetToTableModel(rs));
}
catch(Exception e){
e.printStackTrace();
}
}
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
conn = Shop.connect();
stored_pro = conn.prepareCall("{call insert_employee (?,?,?,?,?,?,?)}");
stored_pro.setString(1, this.jTextField9.getText());
stored_pro.setString(2, this.jTextField10.getText());
stored_pro.setString(3, (String)this.jComboBox1.getSelectedItem());
stored_pro.setString(4, this.jTextField11.getText());
stored_pro.setString(5, this.jTextField12.getText());
stored_pro.setString(6, (String)this.jComboBox2.getSelectedItem());
stored_pro.setString(7, (String)this.jComboBox3.getSelectedItem());
stored_pro.execute();
JOptionPane.showMessageDialog(null, "Saved");
jTextField9.setText("");
jTextField10.setText("");
jComboBox1.setSelectedItem(null);
jTextField11.setText("");
jTextField12.setText("");
jComboBox2.setSelectedItem(null);
jComboBox3.setSelectedItem(null);
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
UpdateJTable2();
}

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


// TODO add your handling code here:
try{
conn = Shop.connect();
stored_pro = conn.prepareCall("{call update_employee (?,?,?,?,?,?,?,?)}");
stored_pro.setString(1, this.jTextField13.getText());
stored_pro.setString(2, this.jTextField9.getText());
stored_pro.setString(3, this.jTextField10.getText());
stored_pro.setString(4, (String)this.jComboBox1.getSelectedItem());
stored_pro.setString(5, this.jTextField11.getText());
stored_pro.setString(6, this.jTextField12.getText());
stored_pro.setString(7, (String)this.jComboBox2.getSelectedItem());
stored_pro.setString(8, (String)this.jComboBox3.getSelectedItem());
stored_pro.execute();
JOptionPane.showMessageDialog(null, "Updated");
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
UpdateJTable2();
}

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


// TODO add your handling code here:
try{
conn = Shop.connect();
stored_pro = conn.prepareCall("{call delete_employee (?)}");
stored_pro.setString(1, this.jTextField13.getText());
stored_pro.execute();
JOptionPane.showMessageDialog(null, "Deleted");
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
UpdateJTable2();
}
private void showMeAllReport(){

try{
conn = Shop.connect();
JasperDesign jasperDesign = JRXmlLoader.load("C:\\Users\\Zapadai\\Documents\\
NetBeansProjects\\Shop\\src\\shop\\report1.jrxml");
String sql = "SELECT View_employee.\"id\" AS View_employee_id, View_employee.\"FIO\" AS
View_employee_FIO, View_employee.\"dateborn\" AS View_employee_dateborn,
View_employee.\"position\" AS View_employee_position, View_employee.\"adress\" AS
View_employee_adress, View_employee.\"tel_number\" AS View_employee_tel_number,
View_employee.\"kruzhok\" AS View_employee_kruzhok, View_employee.\"groups\" AS
View_employee_groups FROM \"dbo\".\"View_employee\" View_employee";
JRDesignQuery newQuery = new JRDesignQuery();
newQuery.setText(sql);
jasperDesign.setQuery(newQuery);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, conn);
JasperViewer.viewReport(jasperPrint);

}
catch(Exception e){
e.printStackTrace();
}
}

private void showById(){


try{
conn = Shop.connect();
JasperDesign jasperDesign = JRXmlLoader.load("C:\\Users\\Zapadai\\Documents\\
NetBeansProjects\\Shop\\src\\shop\\report2.jrxml");
String sql = "SELECT View_employee.\"id\" AS View_employee_id, View_employee.\"FIO\" AS
View_employee_FIO, View_employee.\"dateborn\" AS View_employee_dateborn,
View_employee.\"position\" AS View_employee_position, View_employee.\"adress\" AS
View_employee_adress, View_employee.\"tel_number\" AS View_employee_tel_number,
View_employee.\"kruzhok\" AS View_employee_kruzhok, View_employee.\"groups\" AS
View_employee_groups FROM \"dbo\".\"View_employee\" View_employee WHERE
View_employee.\"id\"="+ this.jTextField1.getText();
JRDesignQuery newQuery = new JRDesignQuery();
newQuery.setText(sql);
jasperDesign.setQuery(newQuery);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, conn);
JasperViewer.viewReport(jasperPrint);
}
catch(Exception e){
e.printStackTrace();
}
}

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


// TODO add your handling code here:
showMeAllReport();
}

private void formWindowOpened(java.awt.event.WindowEvent evt) {


// TODO add your handling code here:
UpdateJTable2();
open_jComboBox1();
open_jComboBox2();
open_jComboBox3();
jComboBox1.setSelectedItem(null);
jComboBox2.setSelectedItem(null);
jComboBox3.setSelectedItem(null);
}

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


// TODO add your handling code here:
try{
conn = Shop.connect();
int row = jTable2.getSelectedRow();
String id = (jTable2.getModel().getValueAt(row,0).toString());
String query = "select * from View_employee where id='"+id+"'";
PreparedStatement pst=conn.prepareStatement(query);
ResultSet rs = pst.executeQuery();
while(rs.next()){
jTextField13.setText(rs.getString("id"));
jTextField9.setText(rs.getString("FIO"));
jTextField10.setText(rs.getString("dateborn"));
Object selectedItem = jComboBox1.getSelectedItem();
jTextField11.setText(rs.getString("adress"));
jTextField12.setText(rs.getString("tel_number"));
Object selectedItem1 = jComboBox2.getSelectedItem();
Object selectedItem2 = jComboBox3.getSelectedItem();

}
pst.close();
}
catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
}

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


// TODO add your handling code here:
showById();
}

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


// TODO add your handling code here:
}

private void open_jComboBox1(){


try {
String sql= "Select *from position";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();

while(rs.next()){
String position = rs.getString("position");
jComboBox1.addItem(position);
}
}catch (Exception e){
JOptionPane.showMessageDialog(null,e);
}
}

private void open_jComboBox2(){


try {
String sql= "Select *from kruzhok";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();

while(rs.next()){
String kruzhok = rs.getString("kruzhok");
jComboBox2.addItem(kruzhok);
}
}catch (Exception e){
JOptionPane.showMessageDialog(null,e);
}
}
private void open_jComboBox3(){
try {
String sql= "Select *from [group]";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();

while(rs.next()){
String groups = rs.getString("groups");
jComboBox3.addItem(groups);
}
}catch (Exception e){
JOptionPane.showMessageDialog(null,e);
}
}
/**
* @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(sotr.class.getName()).log(java.util.logging.Level.SEVERE, null,
ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(sotr.class.getName()).log(java.util.logging.Level.SEVERE, null,
ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(sotr.class.getName()).log(java.util.logging.Level.SEVERE, null,
ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(sotr.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 sotr().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JButton jButton1;
private javax.swing.JButton jButton5;
private javax.swing.JButton jButton6;
private javax.swing.JButton jButton7;
private javax.swing.JButton jButton8;
private javax.swing.JComboBox<String> jComboBox1;
private javax.swing.JComboBox<String> jComboBox2;
private javax.swing.JComboBox<String> jComboBox3;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTable jTable2;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField10;
private javax.swing.JTextField jTextField11;
private javax.swing.JTextField jTextField12;
private javax.swing.JTextField jTextField13;
private javax.swing.JTextField jTextField9;
// End of variables declaration
}
 Рассмотрим форму tovar.java
Необходимо расставить все необходимые поля и таблицу в таком же порядке

Рассмотрим код коджой кнопки


 Кнопка «Добавить»
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
conn = Shop.connect();
stored_pro = conn.prepareCall("{call insert_child (?,?,?,?,?,?,?,?)}");

stored_pro.setString(1, this.jTextField2.getText());
stored_pro.setString(2, this.jTextField3.getText());
stored_pro.setString(3, this.jTextField4.getText());
stored_pro.setString(4, this.jTextField5.getText());
stored_pro.setString(5, this.jTextField6.getText());
stored_pro.setString(6, (String)this.jComboBox2.getSelectedItem());
stored_pro.setString(7, (String)this.jComboBox3.getSelectedItem());
stored_pro.setString(8, (String)this.jComboBox4.getSelectedItem());
stored_pro.execute();
JOptionPane.showMessageDialog(null, "Saved");
jComboBox2.setSelectedItem(null);
jComboBox3.setSelectedItem(null);
jComboBox4.setSelectedItem(null);
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
UpdateJTable();
}
 Кнопка «Удалить»
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
conn = Shop.connect();
stored_pro = conn.prepareCall("{call delete_child (?)}");
stored_pro.setString(1, this.jTextField1.getText());
stored_pro.execute();
JOptionPane.showMessageDialog(null, "Deleted");
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
UpdateJTable();
}
 Кнопка «Обновить»
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
conn = Shop.connect();
stored_pro = conn.prepareCall("{call update_child (?,?,?,?,?,?,?,?,?)}");
stored_pro.setString(1, this.jTextField1.getText());
stored_pro.setString(2, this.jTextField2.getText());
stored_pro.setString(3, this.jTextField3.getText());
stored_pro.setString(4, this.jTextField3.getText());
stored_pro.setString(5, this.jTextField5.getText());
stored_pro.setString(6, this.jTextField6.getText());
stored_pro.setString(7, (String)this.jComboBox2.getSelectedItem());
stored_pro.setString(8, (String)this.jComboBox3.getSelectedItem());
stored_pro.setString(9, (String)this.jComboBox4.getSelectedItem());
stored_pro.execute();
JOptionPane.showMessageDialog(null, "Updated");
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
UpdateJTable();
}
 Отчет создается в таком же порядке как в сотудниках, в такой же последовательности
Код для запроса в отчете:
select View_children.id as View_children_id, View_children.FIO as View_children_FIO,
View_children.dateborn as View_children_dateborn, View_children.addres as View_children_addres,
View_children.tel_dad as View_children_tel_dad, View_children.tel_mom as View_children_tel_mom,
View_children.groups as View_children_groups, View_children.kruzhok as View_children_kruzhok,
View_children.nationality as View_children_nationality from dbo.View_children as View_children
 Кнопка «посмотреть отчет»
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
showMeAllReport() }
сам метод:

private void showMeAllReport(){


try{
conn = Shop.connect();
JasperDesign jasperDesign = JRXmlLoader.load("C:\\Users\\Zapadai\\Documents\\
NetBeansProjects\\Shop\\src\\shop\\report3.jrxml");
String sql = "SELECT View_children.\"id\" AS View_children_id, View_children.\"FIO\" AS
View_children_FIO, View_children.\"dateborn\" AS View_children_dateborn,
View_children.\"address\" AS View_children_address, View_children.\"tel_dad\" AS
View_children_tel_dad, View_children.\"tel_mom\" AS View_children_tel_mom,
View_children.\"groups\" AS View_children_groups, View_children.\"kruzhok\" AS
View_children_kruzhok, View_children.\"nationality\" AS View_children_nationality
FROM \"dbo\".\"View_children\" View_children";
JRDesignQuery newQuery = new JRDesignQuery();
newQuery.setText(sql);
jasperDesign.setQuery(newQuery);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, conn);
JasperViewer.viewReport(jasperPrint);

}
catch(Exception e){
e.printStackTrace();
}
}
 Кнопка «отчет по №»
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
showById();
}
Сам метод:
private void showById(){
try{
conn = Shop.connect();
JasperDesign jasperDesign = JRXmlLoader.load("C:\\Users\\Zapadai\\Documents\\NetBeansProjects\\
Shop\\src\\shop\\report4.jrxml");
String sql = "SELECT View_children.\"id\" AS View_children_id, View_children.\"FIO\" AS
View_children_FIO, View_children.\"dateborn\" AS View_children_dateborn, View_children.\"address\" AS
View_children_address, View_children.\"tel_dad\" AS View_children_tel_dad, View_children.\"tel_mom\" AS
View_children_tel_mom, View_children.\"groups\" AS View_children_groups, View_children.\"kruzhok\" AS
View_children_kruzhok, View_children.\"nationality\" AS View_children_nationality
FROM \"dbo\".\"View_children\" View_children WHERE View_children.\"id\"="+ this.jTextField7.getText();
JRDesignQuery newQuery = new JRDesignQuery();
newQuery.setText(sql);
jasperDesign.setQuery(newQuery);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, conn);
JasperViewer.viewReport(jasperPrint);
}
catch(Exception e){
e.printStackTrace();
}
}

5. Создание графика
Пропишем код на кнопку «Просмотр графика»
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.setValue(35, "Marks", "Отсутствует(не посещают)");
dataset.setValue(20, "Marks", "Шахматы");
dataset.setValue(65, "Marks", "Танцы");
JFreeChart chart =ChartFactory.createBarChart("Количество посещений кружков ",
"Наименование кружков", "Количество посещений в %", dataset, PlotOrientation.VERTICAL, false,
true, false);
CategoryPlot p=chart.getCategoryPlot();
p.setRangeGridlinePaint(Color.black);
ChartFrame frame = new ChartFrame("График", chart);
frame.setVisible(true);
frame.setSize(650,550);
}

 Полный листинг для формы tovar.java


package shop;
import java.awt.Color;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
import net.proteanit.sql.DbUtils;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JRDesignQuery;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.view.JasperViewer;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
/**
*
* @author Zapadai
*/
public class tovar extends javax.swing.JFrame {
Connection conn = null;
CallableStatement stored_pro = null;
Statement statement = null;
ResultSet rs = null;
PreparedStatement pst = null;
private static String DEFAULT_DATE_FORMAT = "MM/dd/yyyy";
/**
* Creates new form tovar
*/
public tovar() {
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();
jLabel1 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
jTextField3 = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
jTextField5 = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
jTextField6 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jLabel7 = new javax.swing.JLabel();
jButton4 = new javax.swing.JButton();
jComboBox2 = new javax.swing.JComboBox<>();
jLabel2 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jComboBox3 = new javax.swing.JComboBox<>();
jTextField1 = new javax.swing.JTextField();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
jComboBox4 = new javax.swing.JComboBox<>();
jTextField4 = new javax.swing.JTextField();
jTextField7 = new javax.swing.JTextField();
jButton5 = new javax.swing.JButton();
jButton6 = new javax.swing.JButton();
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowOpened(java.awt.event.WindowEvent evt) {
formWindowOpened(evt);
}
});

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"
}
));
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
jTable1MousePressed(evt);
}
});
jScrollPane1.setViewportView(jTable1);

jLabel1.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N


jLabel1.setForeground(new java.awt.Color(0, 0, 102));
jLabel1.setText("Список всех детей ");

jLabel4.setText("Адресс");

jLabel5.setText("телефон папы");

jTextField5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField5ActionPerformed(evt);
}
});

jLabel6.setText("№ телефона мамы");

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);
}
});

jLabel7.setText("Кружок");

jButton4.setText("просмотреть отчет ");


jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});

jLabel2.setText("№");

jLabel8.setText("Группа");

jLabel3.setText("ФИО");

jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
});

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

jLabel10.setText("Национальность");

jButton5.setText("отчет по №");
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton5ActionPerformed(evt);
}
});

jButton6.setText("Просмотр графика ");


jButton6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton6ActionPerformed(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()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 843,
Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(275, 275, 275)
.addComponent(jLabel1))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(jLabel4)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 65,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE,
131, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel9, javax.swing.GroupLayout.PREFERRED_SIZE, 99,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
213, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(jLabel2)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE,
131, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE,
131, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE,
131, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(28, 28, 28)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(jLabel7)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignme
nt.TRAILING, false)
.addComponent(jComboBox3,
javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(jComboBox2,
javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(jLabel8,
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel5,
javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 99,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField5,
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel6,
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTextField6,
javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 138,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(22, 22, 22)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignme
nt.LEADING, false)
.addComponent(jLabel10)
.addComponent(jComboBox4, 0,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton2,
javax.swing.GroupLayout.PREFERRED_SIZE, 184, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(32, 32, 32)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignme
nt.LEADING, false)
.addComponent(jButton4, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton5, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jTextField7)
.addComponent(jButton6,
javax.swing.GroupLayout.PREFERRED_SIZE, 156,
javax.swing.GroupLayout.PREFERRED_SIZE))))))))
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 284,
Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jLabel5)
.addComponent(jLabel10))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jComboBox4, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(jLabel6))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton1)
.addComponent(jButton5))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel8)
.addComponent(jLabel9))
.addGap(8, 8, 8)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton2)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton4))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel4)
.addComponent(jLabel7))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jComboBox3, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton3)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton6))
.addContainerGap())
);

pack();
}// </editor-fold>
private void UpdateJTable(){
try{
conn = Shop.connect();
String sql = "SELECT * FROM [View_children]";
statement = conn.createStatement();
rs = statement.executeQuery(sql);
this.jTable1.setModel(DbUtils.resultSetToTableModel(rs));
}
catch(Exception e){
e.printStackTrace();
}
}
private void formWindowOpened(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
UpdateJTable();
open_jComboBox2();
open_jComboBox3();
open_jComboBox4();
jComboBox2.setSelectedItem(null);
jComboBox3.setSelectedItem(null);
jComboBox4.setSelectedItem(null);
}

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


// TODO add your handling code here:
}

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


// TODO add your handling code here:
try{
conn = Shop.connect();
stored_pro = conn.prepareCall("{call insert_child (?,?,?,?,?,?,?,?)}");

stored_pro.setString(1, this.jTextField2.getText());
stored_pro.setString(2, this.jTextField3.getText());
stored_pro.setString(3, this.jTextField4.getText());
stored_pro.setString(4, this.jTextField5.getText());
stored_pro.setString(5, this.jTextField6.getText());
stored_pro.setString(6, (String)this.jComboBox2.getSelectedItem());
stored_pro.setString(7, (String)this.jComboBox3.getSelectedItem());
stored_pro.setString(8, (String)this.jComboBox4.getSelectedItem());
stored_pro.execute();
JOptionPane.showMessageDialog(null, "Saved");
jComboBox2.setSelectedItem(null);
jComboBox3.setSelectedItem(null);
jComboBox4.setSelectedItem(null);
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
UpdateJTable();
}

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


// TODO add your handling code here:
try{
conn = Shop.connect();
stored_pro = conn.prepareCall("{call update_child (?,?,?,?,?,?,?,?,?)}");
stored_pro.setString(1, this.jTextField1.getText());
stored_pro.setString(2, this.jTextField2.getText());
stored_pro.setString(3, this.jTextField3.getText());
stored_pro.setString(4, this.jTextField3.getText());
stored_pro.setString(5, this.jTextField5.getText());
stored_pro.setString(6, this.jTextField6.getText());
stored_pro.setString(7, (String)this.jComboBox2.getSelectedItem());
stored_pro.setString(8, (String)this.jComboBox3.getSelectedItem());
stored_pro.setString(9, (String)this.jComboBox4.getSelectedItem());
stored_pro.execute();
JOptionPane.showMessageDialog(null, "Updated");
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
UpdateJTable();
}

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


// TODO add your handling code here:
try{
conn = Shop.connect();
stored_pro = conn.prepareCall("{call delete_child (?)}");
stored_pro.setString(1, this.jTextField1.getText());
stored_pro.execute();
JOptionPane.showMessageDialog(null, "Deleted");
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
UpdateJTable();
}
private void open_jComboBox2(){
try {
String sql= "Select *from [group]";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();

while(rs.next()){
String groups = rs.getString("groups");
jComboBox2.addItem(groups);
}
}catch (Exception e){
JOptionPane.showMessageDialog(null,e);
}
}

private void open_jComboBox3(){


try {
String sql= "Select *from kruzhok";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();

while(rs.next()){
String kruzhok = rs.getString("kruzhok");
jComboBox3.addItem(kruzhok);
}
}catch (Exception e){
JOptionPane.showMessageDialog(null,e);
}
}
private void open_jComboBox4(){
try {
String sql= "Select *from nationality";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();

while(rs.next()){
String nationality = rs.getString("nationality");
jComboBox4.addItem(nationality);
}
}catch (Exception e){
JOptionPane.showMessageDialog(null,e);
}
}
private void showMeAllReport(){

try{
conn = Shop.connect();
JasperDesign jasperDesign = JRXmlLoader.load("C:\\Users\\Zapadai\\Documents\\
NetBeansProjects\\Shop\\src\\shop\\report3.jrxml");
String sql = "SELECT View_children.\"id\" AS View_children_id, View_children.\"FIO\" AS
View_children_FIO, View_children.\"dateborn\" AS View_children_dateborn,
View_children.\"address\" AS View_children_address, View_children.\"tel_dad\" AS
View_children_tel_dad, View_children.\"tel_mom\" AS View_children_tel_mom,
View_children.\"groups\" AS View_children_groups, View_children.\"kruzhok\" AS
View_children_kruzhok, View_children.\"nationality\" AS View_children_nationality
FROM \"dbo\".\"View_children\" View_children";
JRDesignQuery newQuery = new JRDesignQuery();
newQuery.setText(sql);
jasperDesign.setQuery(newQuery);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, conn);
JasperViewer.viewReport(jasperPrint);

}
catch(Exception e){
e.printStackTrace();
}

}
private void showById(){
try{
conn = Shop.connect();
JasperDesign jasperDesign = JRXmlLoader.load("C:\\Users\\Zapadai\\Documents\\
NetBeansProjects\\Shop\\src\\shop\\report4.jrxml");
String sql = "SELECT View_children.\"id\" AS View_children_id, View_children.\"FIO\" AS
View_children_FIO, View_children.\"dateborn\" AS View_children_dateborn,
View_children.\"address\" AS View_children_address, View_children.\"tel_dad\" AS
View_children_tel_dad, View_children.\"tel_mom\" AS View_children_tel_mom,
View_children.\"groups\" AS View_children_groups, View_children.\"kruzhok\" AS
View_children_kruzhok, View_children.\"nationality\" AS View_children_nationality
FROM \"dbo\".\"View_children\" View_children WHERE View_children.\"id\"="+
this.jTextField7.getText();
JRDesignQuery newQuery = new JRDesignQuery();
newQuery.setText(sql);
jasperDesign.setQuery(newQuery);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, conn);
JasperViewer.viewReport(jasperPrint);
}
catch(Exception e){
e.printStackTrace();
}
}

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


// TODO add your handling code here:
showMeAllReport();

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


// TODO add your handling code here:
}

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


// TODO add your handling code here:
try{
conn = Shop.connect();
int row = jTable1.getSelectedRow();
String id = (jTable1.getModel().getValueAt(row,0).toString());
String query = "select * from View_children where id='"+id+"'";
PreparedStatement pst=conn.prepareStatement(query);
ResultSet rs = pst.executeQuery();
while(rs.next()){
jTextField1.setText(rs.getString("id"));
jTextField2.setText(rs.getString("FIO"));
jTextField3.setText(rs.getString("dateborn"));
jTextField4.setText(rs.getString("address"));
jTextField5.setText(rs.getString("tel_dad"));
jTextField6.setText(rs.getString("tel_mom"));

Object selectedItem = jComboBox2.getSelectedItem();


Object selectedItem1 = jComboBox3.getSelectedItem();
Object selectedItem2 = jComboBox4.getSelectedItem();
}
pst.close();
}
catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
}

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


// TODO add your handling code here:
showById();
}

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


// TODO add your handling code here:
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.setValue(35, "Marks", "Отсутствует(не посещают)");
dataset.setValue(20, "Marks", "Шахматы");
dataset.setValue(65, "Marks", "Танцы");
JFreeChart chart =ChartFactory.createBarChart("Количество посещений кружков ",
"Наименование кружков", "Количество посещений в %", dataset, PlotOrientation.VERTICAL, false,
true, false);
CategoryPlot p=chart.getCategoryPlot();
p.setRangeGridlinePaint(Color.black);
ChartFrame frame = new ChartFrame("График", chart);
frame.setVisible(true);
frame.setSize(650,550);

/**
* @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(tovar.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(tovar.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(tovar.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(tovar.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 tovar().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.JButton jButton6;
private javax.swing.JComboBox<String> jComboBox2;
private javax.swing.JComboBox<String> jComboBox3;
private javax.swing.JComboBox<String> jComboBox4;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField4;
private javax.swing.JTextField jTextField5;
private javax.swing.JTextField jTextField6;
private javax.swing.JTextField jTextField7;
// End of variables declaration
}
 Форма nurcery.java

Пропишем код для вывода данных в таблице


package shop;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import net.proteanit.sql.DbUtils;
/**
*
* @author Zapadai
*/
public class nursery extends javax.swing.JFrame {
Connection conn = null;
CallableStatement stored_pro = null;
Statement statement = null;
ResultSet rs = null;
/**
* Creates new form nursery
*/
public nursery() {
initComponents();
}
private void UpdateJTable(){
try{
conn = Shop.connect();
String sql = "SELECT * FROM [View_id4]";
statement = conn.createStatement();
rs = statement.executeQuery(sql);
this.jTable1.setModel(DbUtils.resultSetToTableModel(rs));
}
catch(Exception e){
e.printStackTrace();
}
}
/**
* 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();
jLabel1 = new javax.swing.JLabel();
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowOpened(java.awt.event.WindowEvent evt) {
formWindowOpened(evt);
}
});

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);

jLabel1.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N


jLabel1.setForeground(new java.awt.Color(0, 0, 153));
jLabel1.setText("Список группы \"ЯСЛИ\"");

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE, 692, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGap(238, 238, 238)
.addComponent(jLabel1)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addGap(35, 35, 35)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.DEFAULT_SIZE, 160, Short.MAX_VALUE)
.addContainerGap())
);

pack();
}// </editor-fold>

private void formWindowOpened(java.awt.event.WindowEvent evt) {


// TODO add your handling code here:
UpdateJTable();
}

/**
* @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(nursery.class.getName()).log(java.util.logging
.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(nursery.class.getName()).log(java.util.logging
.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(nursery.class.getName()).log(java.util.logging
.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

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

// Variables declaration - do not modify


private javax.swing.JLabel jLabel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// End of variables declaration
}

 Форма provider.java
Полный листинг provider.java
package shop;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.proteanit.sql.DbUtils;
/**
*
* @author Zapadai
*/
public class provider extends javax.swing.JFrame {
Connection conn = null;
CallableStatement stored_pro = null;
Statement statement = null;
ResultSet rs = null;
/**
* Creates new form provider
*/
public provider() {
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();
jLabel2 = new javax.swing.JLabel();

addWindowListener(new java.awt.event.WindowAdapter() {
public void windowOpened(java.awt.event.WindowEvent evt) {
formWindowOpened(evt);
}
});

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);

jLabel2.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N


jLabel2.setForeground(new java.awt.Color(0, 0, 102));
jLabel2.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()
.addGap(21, 21, 21)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 829, Short.MAX_VALUE)
.addContainerGap())
.addGroup(layout.createSequentialGroup()
.addGap(306, 306, 306)
.addComponent(jLabel2)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel2)
.addGap(24, 24, 24)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 162,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(56, Short.MAX_VALUE))
);

pack();
}// </editor-fold>

private void formWindowOpened(java.awt.event.WindowEvent evt) {


// TODO add your handling code here:
UpdateJTable();
}
private void UpdateJTable(){
try{
conn = Shop.connect();
String sql = "SELECT * FROM [View_id3]";
statement = conn.createStatement();
rs = statement.executeQuery(sql);
this.jTable1.setModel(DbUtils.resultSetToTableModel(rs));
}
catch(Exception e){
e.printStackTrace();
}
}

/**
* @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(provider.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(provider.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(provider.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(provider.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 provider().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JLabel jLabel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// End of variables declaration
}

 Форма providers.java
Полный листинг кода providers.java
package shop;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import net.proteanit.sql.DbUtils;
/**
*
* @author Zapadai
*/
public class remainders extends javax.swing.JFrame {
Connection conn = null;
CallableStatement stored_pro = null;
Statement statement = null;
ResultSet rs = null;
/**
* Creates new form remainders
*/
public remainders() {
initComponents();
}
private void UpdateJTable(){
try{
conn = Shop.connect();
String sql = "SELECT * FROM [View_id1]";
statement = conn.createStatement();
rs = statement.executeQuery(sql);
this.jTable1.setModel(DbUtils.resultSetToTableModel(rs));
}
catch(Exception e){
e.printStackTrace();
}
}
/**
* 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();
jLabel1 = new javax.swing.JLabel();

addWindowListener(new java.awt.event.WindowAdapter() {
public void windowOpened(java.awt.event.WindowEvent evt) {
formWindowOpened(evt);
}
});

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);

jLabel1.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N


jLabel1.setForeground(new java.awt.Color(0, 0, 153));
jLabel1.setText("Список \"СТАРШЕЙ ГРУППЫ\"");

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


getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(21, 21, 21)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 687, Short.MAX_VALUE)
.addContainerGap())
.addGroup(layout.createSequentialGroup()
.addGap(260, 260, 260)
.addComponent(jLabel1)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addGap(31, 31, 31)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 166,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

pack();
}// </editor-fold>

private void formWindowOpened(java.awt.event.WindowEvent evt) {


// TODO add your handling code here:
UpdateJTable();
}

/**
* @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(remainders.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(remainders.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(remainders.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(remainders.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 remainders().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JLabel jLabel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// End of variables declaration
}

Вам также может понравиться