Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MySQL循环”;在“;_Java_Mysql - Fatal编程技术网

Java MySQL循环”;在“;

Java MySQL循环”;在“;,java,mysql,Java,Mysql,储蓄利润法 public void saveProfit() throws SQLException { ObservableList<Bread> bread = FXCollections.observableArrayList(); Connection conn = null; PreparedStatement ps = null; Statement statement = null; ResultSet resultSet = n

储蓄利润法

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());
        }
    }
}
面包桌

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));
最佳5表

create table best5 (
    id INT not null primary key auto_increment,
    pname VARCHAR(30),
    profit INT);
worst5表基本相同,但名称不同


因此,我试图将
插入循环到best5(pname,price)值(?,)
中,以存储来自bread表的数据。但是,看起来只有面包表的第一行存储到best5表中,其余的被忽略。我做错了什么?我不熟悉javafx和MySQL。请纠正我的错误。

这与fx有什么关系(除了有一个ObservableList)?我想我必须包括它,只要它有JavaFX的特性。我不这么认为:在解决sql问题之前使用一个简单的列表,然后在ui中使用ObservableList。如果发现有一个部分与observable/ui相关,则发布一个带有fx标签的新问题(以及一个演示出错原因的问题:)注意,称为“价格”的东西很少是十进制以外的东西。而且很少需要存储派生数据
create table best5 (
    id INT not null primary key auto_increment,
    pname VARCHAR(30),
    profit INT);