0

フォーム パラメータがコントローラにデータをロードしていません。コンソールに次のメッセージが表示されます。

INSERT INTO Products (code, cateogyr_code, product_category, product_name, description, price) VALUES ('0','0','null','null','null')'0.0')

フォームは次のとおりです。

    <form action="controller" method="POST">
<input type="hidden" name="action" value="add">
<table>
<tr><td>Code</td><td><input name="code"></td></tr> 
<tr><td>Name</td><td><input name="product_name"></td></tr>
<tr><td>Category Code</td><td><input name="category_code"></td></tr> 
<tr><td>Category</td><td><input name="product_category"></td></tr> 
<tr><td>Description</td><td><input name="description"></td></tr>
<tr><td>Price</td><td><input name="price" ></td></tr>
<tr><td colspan="2"><input type="submit" value="Save"></td></tr> </table> </form>

そして、これは私のコントローラーメソッドです:

  else if (action.equals("add")) {
            Product newProduct= new Product();

            dao.addProduct(newProduct);

              List<Product> products = dao.findAll();
              address = "listproduct.jsp";
              request.setAttribute("products", products);;

これは私のSQLメソッドです

public void addProduct(Product product) {
    String sql = "INSERT INTO Products " +
            "(code, category_code, product_category, product_name, description, price)" +
            " VALUES (" +
            "'" + product.getCode() + "'," +
            "'" + product.getCategory_code() + "'," +
            "'" + product.getCategory() + "'," +
            "'" + product.getName() + "'," +
            "'" + product.getDescription() + "')"+
            "'" + product.getPrice() + "')";
    System.out.println(sql);
        }

誰かがこれを手伝ってくれますか?

4

3 に答える 3

1

これは正しい挿入方法ではありません

INSERT INTO Products (code, cateogyr_code, product_category, product_name, description, price) VALUES ('0','0','null','null','null')'0.0')

すべてのフィールドが varchar であると仮定すると、このように使用されます

INSERT INTO Products (code, cateogyr_code, product_category, product_name, description, price) VALUES ('0','0','null','null','null','0.0')
于 2013-09-10T04:46:12.307 に答える