【问题标题】:Eclipse says "You have an error in your sql syntax", but the same query works in workbench. Where is the problem? [closed]Eclipse 说“您的 sql 语法有错误”,但相同的查询在工作台中有效。问题出在哪里? [关闭]
【发布时间】:2019-06-04 12:35:14
【问题描述】:

我有这个在 ecplise 中不起作用的预先准备好的语句,但是对于工作台来说还可以,我该怎么办?

public void aggiornaArma(Arma Armi) throws SQLException {
PreparedStatement myStmt = null;
try {
    myStmt=myConn.prepareStatement("update arma"
+"set danni=?,Descrizione=?,costo=?,impugnatura=?,tipo=?"
            +" where nome=?");
    myStmt.setInt(1, Armi.getDanni());
    myStmt.setString(2,Armi.getDescrizione());
    myStmt.setInt(3,Armi.getCosto());
    myStmt.setString(4, Armi.getImpugnatura());
    myStmt.setString(5,Armi.getTipo());
    myStmt.setString(6,Armi.getNome());
    myStmt.executeUpdate();
}

【问题讨论】:

  • 您的查询中arma 和set 之间没有空格。
  • 您假设您编写的代码生成的 SQL 代码与您手动输入 SQL Workbench 的 SQL 代码相同。这个假设是错误的。始终验证,从不假设。

标签: java mysql jdbc


【解决方案1】:

可能与表名和设置之间没有空格有关尝试添加

 myStmt=myConn.prepareStatement("update arma "
  +" set danni=?,Descrizione=?,costo=?,impugnatura=?,tipo=?"
        +" where nome=?");

【讨论】:

    猜你喜欢
    • 2021-08-14
    • 1970-01-01
    • 2014-06-08
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 2014-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多