H2数据库数据转换错误

Data Conversion Error H2 Database

我是 运行 来自 Java 应用程序的数据库查询。

String id = app.getVariable("Product Id"),
                name = app.getVariable("Product Name"),
                rate = app.getVariable("Rate"),
                type = app.getVariable("Type"),
                desc = app.getVariable("Description"),
                qty = app.getVariable("Quantity"); // Returns String from TextFields

        type = type.equalsIgnoreCase("LIMITED") ? "TRUE" : "FALSE";


        try {
            String query = "UPDATE COUNTER.PRODUCTS SET TITLE = ? AND RATE = ? AND IS_LIMITED = ? AND DESCRIPTION = ? WHERE ID = ?";
            PreparedStatement stmt = MainApp.getConnection().prepareStatement(query);

            stmt.setString(1, name);
            stmt.setDouble(2, Double.parseDouble(rate));
            stmt.setBoolean(3, Boolean.parseBoolean(type));
            stmt.setString(4, desc);
            stmt.setInt(5, Integer.parseInt(id));

            stmt.executeUpdate();
        } catch(Exception ex1){
            System.out.println( ex1.toString() );
        }

但是遇到SQLException

org.h2.jdbc.JdbcSQLException: Data conversion error converting "Scanning"; SQL statement:
UPDATE COUNTER.PRODUCTS SET TITLE = ? AND RATE = ? AND IS_LIMITED = ? AND DESCRIPTION = ? WHERE ID = ? [22018-187]

插入数据查询正常,但我无法执行更新查询。

这样写您的查询:

  UPDATE COUNTER.PRODUCTS SET TITLE = ? ,RATE = ? ,IS_LIMITED = ? ,DESCRIPTION = ? WHERE ID = ?

使用逗号 , 而不是 and