You are on page 1of 11

Інформація про програму

У даній програмі ми працюємо з базою даних у якій містяться дані про


студентів. У даній програмі ми можем додавати студентів до бази
даних,видаляти студентів з бази даних,також дивитися хто з студентів має
заборгованість за навчання.

Результати виконання програми

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


надаються варіанти методів з програми.
Після того як користувач натискає «1» аби додати студента у базу даних він
потраплає в інше меню, де йому потрібно ввести всі необхідні дані, щоб
студент був добавлений у базу даних.
Процес видалення студента з бази даних
За варіантом 3 ми бачимо список всіх студентів в базі даних.

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

За варіантом 5 ми видаляємо усіх студентів з бази даних.

Ось такий вигляд має меню, для виходу з програми.


Код програми
Class db_connection
import java.sql.*;

public class db_connection {


public static Connection conn;
public static Statement statmt;
public static ResultSet resSet;
public static PreparedStatement prepate_statement;

// --------ПОДКЛЮЧЕНИЕ К БАЗЕ ДАННЫХ--------


public static void Connections() throws ClassNotFoundException, SQLException
{
conn = null;
Class.forName("org.sqlite.JDBC");
conn = DriverManager.getConnection("jdbc:sqlite:Students_database.sqlite");
//System.out.println("База Подключена!");
}
//------------Добавление студента в бд------------
public static void Insert_into_DB(Student student) throws
ClassNotFoundException,SQLException
{
statmt = conn.createStatement();
prepate_statement = conn.prepareStatement("INSERT INTO 'Student'
('Name','Surname','Middlename','Age','Faculty','Specialty','Course','Form_of_study','
Study_price') VALUES (?,?,?,?,?,?,?,?,?)");
prepate_statement.setString(1,student.getName());
prepate_statement.setString(2,student.getSurname());
prepate_statement.setString(3,student.getMiddlename());
prepate_statement.setInt(4,student.getAge());
prepate_statement.setString(5,student.getFaculty());
prepate_statement.setString(6,student.getSpecialty());
prepate_statement.setInt(7,student.getCourse());
prepate_statement.setString(8,student.getForm_of_study());
prepate_statement.setDouble(9,student.getStudy_price());
prepate_statement.executeUpdate();
}

//---------------Удаление студента из бд---------------

public static void Delete_from_DB(int id) throws


ClassNotFoundException,SQLException
{
statmt = conn.createStatement();
prepate_statement = conn.prepareStatement("DELETE FROM 'Student' WHERE id = ?
");
prepate_statement.setInt(1,id);
prepate_statement.executeUpdate();
}

public static void Delete_all_rows_from_DB() throws


ClassNotFoundException,SQLException
{
statmt = conn.createStatement();
statmt.execute("DELETE FROM 'Student'");
}
public static void Students_debtors() throws ClassNotFoundException,SQLException
{
statmt = conn.createStatement();
int amount_of_rows = 0;
resSet = statmt.executeQuery("SELECT *FROM 'Student' WHERE Form_of_study =
'Контракт' AND Study_price > 0");
while(resSet.next())
{
int id = resSet.getInt("id");
String name = resSet.getString("Name");
String surname = resSet.getString("Surname");
String middlename = resSet.getString("Middlename");
int age = resSet.getInt("Age");
String faculty = resSet.getString("Faculty");
String specialty = resSet.getString("Specialty");
int course = resSet.getInt("Course");
String form_of_study = resSet.getString("Form_of_study");
double study_price = resSet.getDouble("Study_price");
amount_of_rows++;
System.out.println( "Номер: " + id );
System.out.println( "Имя: " + name );
System.out.println( "Фамилия: " + surname );
System.out.println("Отчество: "+ middlename);
System.out.println("Возраст: "+age);
System.out.println("Факультет: " + faculty);
System.out.println("Специальность: " + specialty);
System.out.println("Курс: " + course);
System.out.println("Форма обучения: " + form_of_study);
System.out.println("Долг за обучение: " + study_price);
System.out.println();
}
resSet.close();
}

// -------- Вывод таблицы--------

public static int ReadDB() throws ClassNotFoundException, SQLException


{
statmt = conn.createStatement();
resSet = statmt.executeQuery("SELECT * FROM Student");
int amount_of_rows = 0;
while(resSet.next())
{
int id = resSet.getInt("id");
String name = resSet.getString("Name");
String surname = resSet.getString("Surname");
String middlename = resSet.getString("Middlename");
int age = resSet.getInt("Age");
String faculty = resSet.getString("Faculty");
String specialty = resSet.getString("Specialty");
int course = resSet.getInt("Course");
String form_of_study = resSet.getString("Form_of_study");
double study_price = resSet.getDouble("Study_price");
amount_of_rows++;
System.out.println( "Номер: " + id );
System.out.println( "Имя: " + name );
System.out.println( "Фамилия: " + surname );
System.out.println("Отчество: "+ middlename);
System.out.println("Возраст: "+age);
System.out.println("Факультет: " + faculty);
System.out.println("Специальность: " + specialty);
System.out.println("Курс: " + course);
System.out.println("Форма обучения: " + form_of_study);
if(form_of_study.equalsIgnoreCase("Бюджет") == false){
System.out.println("Долг за обучение: " + study_price);
}
System.out.println();
}
resSet.close();
return amount_of_rows;
//System.out.println("Таблица выведена");
}

// --------Закрытие--------
public static void CloseDB() throws ClassNotFoundException, SQLException
{
conn.close();
statmt.close();

//System.out.println("Соединения закрыты");
}

Class Student
public class Student {
private int id;
private String name;
private String surname;
private String middlename;
private int age;
private String faculty;
private String specialty;
private int course;
private String form_of_study;
private double study_price;

Student(){
this.study_price = 0;
}

public int getId() {


return id;
}

public void setId(int id) {


this.id = id;
}

public double getStudy_price() {


return study_price;
}

public void setStudy_price(double study_price) {


this.study_price = study_price;
}
public String getForm_of_study() {
return form_of_study;
}

public void setForm_of_study(String form_of_study) {


this.form_of_study = form_of_study;
}

public int getAge() {


return age;
}

public String getMiddlename() {


return middlename;
}

public String getFaculty() {


return faculty;
}

public String getName() {


return name;
}

public String getSurname() {


return surname;
}

public String getSpecialty() {


return specialty;
}

public void setAge(int age) {


this.age = age;
}

public void setFaculty(String faculty) {


this.faculty = faculty;
}

public void setMiddlename(String middlename) {


this.middlename = middlename;
}

public void setName(String name) {


this.name = name;
}

public int getCourse() {


return course;
}

public void setSurname(String surname) {


this.surname = surname;
}

public void setSpecialty(String specialty) {


this.specialty = specialty;
}

public void setCourse(int course) {


this.course = course;
}

Class main
import java.sql.SQLException;
import java.util.Scanner;

public class main {


static Scanner scn;

public static void main(String[] args) throws ClassNotFoundException,


SQLException {
int choice = 0;
String str_choice;
Student student = new Student();
do {
System.out.println("1.Добавить студента в базу данных ");
System.out.println("2.Удалить студента из базы данных ");
System.out.println("3.Получить список всех студентов в базе данных");
System.out.println("4.Получить список всех студентов должников в базе
данных");
System.out.println("5.Отчистить базу данных");
System.out.println("6.Вихід із програми");
while (true) {
scn = new Scanner(System.in);
str_choice = scn.next();
try {
choice = Integer.parseInt(str_choice);
if (choice > 0 && choice <= 6) {
break;
}
System.out.println("Неправильно введено число");
} catch (NumberFormatException ex) {
System.out.println("Неправильно введено число");
}
}
switch (choice){
case 1:
System.out.println("Введите имя студента");
scn = new Scanner(System.in);
student.setName(scn.nextLine());
System.out.println("Введите фамилию студента");
scn = new Scanner(System.in);
student.setSurname(scn.nextLine());
System.out.println("Введите отчество студента");
scn = new Scanner(System.in);
student.setMiddlename(scn.nextLine());
System.out.println("Введите возраст студента");
scn = new Scanner(System.in);
student.setAge(scn.nextInt());
System.out.println("Введите факультет на котором учиться
студент");
scn = new Scanner(System.in);
student.setFaculty(scn.nextLine());
System.out.println("Введите специальность на которой учиться
студент");
scn = new Scanner(System.in);
student.setSpecialty(scn.nextLine());
System.out.println("Введите номер курса на котором учиться
студент");
scn = new Scanner(System.in);
student.setCourse(scn.nextInt());
System.out.println("Введите форму обучения студента");
System.out.println("1.Бюджет");
System.out.println("2.Контракт");
while (true) {
scn = new Scanner(System.in);
str_choice = scn.next();
try {
choice = Integer.parseInt(str_choice);
if (choice > 0 && choice <= 2) {
break;
}
System.out.println("Неправильно введено число");
} catch (NumberFormatException ex) {
System.out.println("Неправильно введено число");
}
}
if(choice == 2) {
System.out.println("Студент являеться должником?");
System.out.println("1.Да");
System.out.println("2.Нет");
while (true) {
scn = new Scanner(System.in);
str_choice = scn.next();
try {
choice = Integer.parseInt(str_choice);
if (choice > 0 && choice <= 2) {
break;
}
System.out.println("Неправильно введено число");
} catch (NumberFormatException ex) {
System.out.println("Неправильно введено число");
}
}
if (choice == 1) {
System.out.println("Введите сумму которую должен оплатить
студент");
double sum_of_pay;
scn = new Scanner(System.in);
sum_of_pay = scn.nextDouble();
student.setStudy_price(sum_of_pay);
student.setForm_of_study("Контракт");
}
else{
student.setForm_of_study("Контракт");
}
}
else{
student.setForm_of_study("Бюджет");
}
db_connection.Connections();
db_connection.Insert_into_DB(student);
db_connection.CloseDB();
break;
case 2:
int amount_of_rows;
db_connection.Connections();
amount_of_rows = db_connection.ReadDB();
System.out.println("Выберите студента которого хотите удалить
(введите его номер)");
while (true) {
scn = new Scanner(System.in);
str_choice = scn.next();
try {
choice = Integer.parseInt(str_choice);
if (choice > 0 && choice <= amount_of_rows) {
break;
}
System.out.println("Неправильно введено число");
} catch (NumberFormatException ex) {
System.out.println("Неправильно введено число");
}
}
db_connection.Delete_from_DB(choice);
db_connection.CloseDB();
break;
case 3:
System.out.println("Список всех студентов:");
db_connection.Connections();
db_connection.ReadDB();
db_connection.CloseDB();
break;
case 4:
System.out.println("Список всех студентов должников");
db_connection.Connections();
db_connection.Students_debtors();
db_connection.CloseDB();
break;
case 5:
db_connection.Connections();
db_connection.Delete_all_rows_from_DB();
db_connection.CloseDB();
System.out.println("База данных была успешно отчищена");
break;

}
} while (choice != 6);
}
}

You might also like