这是我的密码。我试图在这里使用变量而不是列名但我得到以下例外。如何解决此错误?
b4wnujal1#
不能在准备好的语句中绑定表/列名,通常也不允许这样做。以下是代码的工作版本:
String query = "UPDATE report SET itemno = ?"; pst = (PreparedStatement) con.prepareStatement(query); pst.setInt(1, dqty); pst.executeUpdate();
笔记:你几乎肯定要加一个 WHERE 子句,否则将影响表中的每个记录。对于准备好的语句,您不必担心转义文字数据。让java来处理这个问题。如果您真的需要更新其他表/列组合的能力,那么只需为此创建其他语句。“一刀切”适用于7-eleven,但不适用于jdbc,因为您可能需要sql注入。
WHERE
1条答案
按热度按时间b4wnujal1#
不能在准备好的语句中绑定表/列名,通常也不允许这样做。以下是代码的工作版本:
笔记:
你几乎肯定要加一个
WHERE
子句,否则将影响表中的每个记录。对于准备好的语句,您不必担心转义文字数据。让java来处理这个问题。如果您真的需要更新其他表/列组合的能力,那么只需为此创建其他语句。“一刀切”适用于7-eleven,但不适用于jdbc,因为您可能需要sql注入。