У меня создана база данных с полями name_of_organization и money_of_organization теперь мне нужно что бы введенная в текстовое поле названия организаций находились в базе данных(такое я реализовал) и при введении в другое текстовое поле суммы у одной организации эта сумма вычиталась а к другой увеличивалась. Пожалуйста подскажите как это реализовать
Код класса Controller
Код:
package sample;
import java.io.IOException;
import java.net.URL;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.stage.Stage;
public class Controller {
@FXML
private ResourceBundle resources;
@FXML
private URL location;
@FXML
private Button who;
@FXML
private Button HowMuch;
@FXML
private TextField organization1;
@FXML
private TextField organization2;
@FXML
private TextField Money;
@FXML
void initialize() {
who.setOnAction(actionEvent -> {
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/sample/who.fxml"));
try {
loader.load();
} catch (IOException e) {
e.printStackTrace();
}
Parent Second = loader.getRoot();
Stage stage = new Stage();
stage.setScene(new Scene(Second));
stage.showAndWait();
});
HowMuch.setOnAction(actionEvent -> {
String prove = organization1.getText();
String prove1 = organization2.getText();
String inmoney = Money.getText();
if (!prove.equals("")) {
check(prove);
}
else
System.out.println("ERROR");
if (!prove.equals(""))
check2(prove1);
else
System.out.println("ERROR");
if (inmoney.equals(""));
{
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/sample/Error1.fxml"));
try {
loader.load();
} catch (IOException e) {
e.printStackTrace();
}
Parent first = loader.getRoot();
Stage stage = new Stage();
stage.setScene(new Scene(first));
stage.showAndWait();
}
});
}
public void check2(String loginProve){
DatabaseHandler read = new DatabaseHandler();
User pr = new User();
pr.setOrganization(loginProve);
ResultSet first = read.getInformation(pr);
int fg = 0;
while (true) {
try {
if (!first.next()) break;
} catch (SQLException throwables) {
throwables.printStackTrace();
}
fg++;
}
if(fg >=1)
System.out.println("Организация 2 найдена");
else
System.out.println("Такой организации нет!");
}
public void check(String loginProve){
DatabaseHandler read = new DatabaseHandler();
User pr = new User();
pr.setOrganization(loginProve);
ResultSet first = read.getInformation(pr);
int fg = 0;
while (true) {
try {
if (!first.next()) break;
} catch (SQLException throwables) {
throwables.printStackTrace();
}
fg++;
}
if(fg >=1)
System.out.println("Организация 1 найдена");
else
System.out.println("Такой организации нет!");
}
}
Класс DatabaseHandler
Код:
package sample;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.ResultSet;
public class DatabaseHandler {
static final String DB_URL = "jdbc:postgresql://127.0.0.1:5432/postgres";
static final String USER = "postgres";
static final String PASS = "987346521";
public Connection getDbConnection() {
try {
Class.forName("org.postgresql.Driver");
} catch (ClassNotFoundException e) {
System.out.println("Ошибка нет драйвера");
e.printStackTrace();
}
System.out.println("Драйвер найден");
Connection connection = null;
try {
connection = DriverManager
.getConnection(DB_URL, USER, PASS);
} catch (SQLException e) {
System.out.println("Ошибка");
e.printStackTrace();
}
if (connection != null) {
System.out.println("Бзаданных подключена");
} else {
System.out.println("Ошибка");
}
return connection;
}
public void writerUser(User org){
String insert = "INSERT INTO " + Constant.TABLE_OF_ORGANIZATION + "(" + Constant.NAME_OF_ORGANIZATIONS
+ "," + Constant.MONEY_OF_ORGANIZATION + ")" + "VALUES(?,?)";
try {
PreparedStatement prst = getDbConnection().prepareStatement(insert);
prst.setString(1, org.getOrganization());
prst.setInt(2, org.getMoney());
prst.executeUpdate();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
public ResultSet getInformation (User auth){
ResultSet resultSet = null;
String select = "SELECT * FROM " + Constant.TABLE_OF_ORGANIZATION + " WHERE "
+ Constant.NAME_OF_ORGANIZATIONS + "=?";
try {
PreparedStatement prst0 = getDbConnection().prepareStatement(select);
prst0.setString(1, auth.getOrganization());
resultSet = prst0.executeQuery();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return resultSet;
}
Класс User
Код:
package sample;
public class User {
private String organization;
private int money;
private int Money;
public User(){}
public User (int money){
this.Money = money;
}
public User (String organization, int money){
this.organization = organization;
this.money = money;
}
public String getOrganization() {
return organization;
}
public int getMoney() {
return money;
}
public void setOrganization(String organization) {
this.organization = organization;
}
public int setMoney(int money) {
return Money;
}
}