有很多与此主题相关的问题,但我无法找到解决问题的方法。 我有一个“产品”表,我试图在netbeans中更新。 SQL语句在SQL dev中工作,我已经仔细检查了我的连接等。
update products
set pvolume = 2, pprice = 15
where productid = 3;
输出:更新了1行。
但在netbeans中运行它将无法执行。如果我错过了一些小的语法问题,我道歉,但我真的需要帮助这个方法。
public boolean editProduct(int ID, String name, int volume, int quantity, String description, int price) {
boolean success = false;
Connection con = ConnectionTools.getInstance().getCurrentConnection();
String SQLString1 = "UPDATE products "
+ "SET pname = ?, "
+ "pvolume = ?, "
+ "pquantity = ?, "
+ "pdescription = ?, "
+ "pprice = ? "
+ "WHERE productID = ?";
PreparedStatement statement = null;
try {
statement = con.prepareStatement(SQLString1);
statement.setString(1, name);
statement.setInt(2,volume);
statement.setInt(3, quantity);
statement.setString(4, description);
statement.setInt(5, price);
statement.setInt(6, ID);
statement.executeUpdate();
success = true;
}catch (Exception e){
System.out.println("Insertion error!");
System.out.println(e.getMessage());
}finally {
try {
statement.close();
} catch (SQLException e) {
System.out.println("Statement close error!");
System.out.println(e.getMessage());
}
}
return success;
}
运行调试它似乎运行try至statement.setInt(6,ID),但随后不执行。这是输出:
插入错误! ORA-00971:缺少SET关键字
任何帮助/建议将不胜感激!感谢
答案 0 :(得分:0)
您必须使用括号:update products set (pvolume = 2, pprice = 15) where productid = 3