質問: pstmt.executeUpdate(); return num; }catch(ClassNotFoundException e){ e.printStackTrace(); return 2; }catch(SQLException e){ e.printStackTrace(); return 3; } } } ========================Daoクラス===========================
回答: String sql = "INSERT INTO drinkMachine(code,name,unitprice,count) VALUES(?,?,?,?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1,"3"); sqlは4つ変数がありますね。 それに送る値も4つである必要があります。 String sql = "INSERT INTO drinkMachine(code,name,unitprice,count) VALUES(?,?,?,?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1,"3",1,2); int num = pstmt.executeUpdate(); PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(2,"オレンジジュース",4,2); int num = pstmt.executeUpdate(); PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(3,"2",8,56); int num = pstmt.executeUpdate(); PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(4,"2",6,4); int num = pstmt.executeUpdate(); と書けば通ると思います。 それから、コネクトとINSERTを別のTRY文にしないとどちらでエラーになったか解らないので分けましょう。