MySQL цикл "вставить в" - PullRequest
0 голосов
/ 15 марта 2020

метод saveProfit

public void saveProfit() throws SQLException {
    ObservableList<Bread> bread = FXCollections.observableArrayList();
    Connection conn = null;
    PreparedStatement ps = null;
    Statement statement = null;
    ResultSet resultSet = null;
    try {
        conn = DriverManager.getConnection ("jdbc:mysql://localhost:3306/bakery", "root", "a3756421");
        statement = conn.createStatement();
        resultSet = statement.executeQuery("SELECT * FROM bread");
        while (resultSet.next()) {
            Bread newBread = new Bread(
            resultSet.getString("breadName"),
            resultSet.getString("breadType"),
            resultSet.getString("breadFlavour"),
            resultSet.getInt("breadStock"),
            resultSet.getInt("breadPrice"));
            newBread.setBreadId(resultSet.getInt("breadId"));
            bread.add(newBread);
        }

        for(Bread b : bread){
            String sql = "insert into best5(pname, profit) values (?,?)";
            ps = conn.prepareStatement(sql);
            ps.setString(1,b.getBreadName());
            ps.setInt(2, b.getBreadPrice()*b.getBreadStock());
        }

        for(Bread b : bread){
            String sql = "insert into worst5(pname, profit) values (?,?)";
            ps = conn.prepareStatement(sql);
            ps.setString(1,b.getBreadName());
            ps.setInt(2, b.getBreadPrice()*b.getBreadStock());
        }
    }
}

Хлебный объект

publi c класс Хлеб {

private String breadName, breadFlavour, breadType;
private int breadStock, breadPrice, breadId;
private File imageFile;
private Image photo;

public Bread(String breadName, String breadType, String breadFlavour,int breadPrice, int breadStock) {
    setBreadName(breadName);
    setBreadType(breadType);
    setBreadFlavour(breadFlavour);
    setBreadPrice(breadPrice);
    setBreadStock(breadStock);
    setImageFile(new File("./src/Images/foodDefault.png"));

}

хлебный стол

create table bread (
    breadId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    breadName VARCHAR(30),
    breadType VARCHAR(30),
    breadFlavour VARCHAR(30),
    breadStock INT,
    breadPrice DOUBLE,
    imageFile VARCHAR(100));

best5 Таблица

create table best5 (
    id INT not null primary key auto_increment,
    pname VARCHAR(30),
    profit INT);

худший5 таблица в основном совпадает с другим именем.

Итак, я пытаюсь l oop insert into best5(pname, profit) values(?,?) для хранения данных из хлебной таблицы. Но, похоже, в таблицу best5 сохраняется только первая строка таблицы, а остальная часть игнорируется. Что я делаю неправильно? Я новичок в javafx и MySQL. Пожалуйста, исправьте мои ошибки.

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