使用JDBC的Mysql中的更新查询问题

时间:2019-04-02 12:35:07

标签: java mysql sql-update

  1. see the screenshots
  2. see the 2nd screenshot
  3. see the 3rd screenshot

好吧,所以我要在Java和mysql上构建一个项目,此时我不得不更新MySql中的数据,但是从我的Java GUI应用程序中,我已经从MySql命令行执行了update命令客户

update user set bldu = 50 where userid = 1001;

它在那里工作得很好,但是从我的Java应用程序中,单击分配的jbutton时,它说:

  

您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的'userid = 1001'附近使用

请帮助我..!

5 个答案:

答案 0 :(得分:2)

String query = "update user SET bldu = " + bldut + " WHERE userid = " + uid + ";";

使用此查询代替您的旧查询可能会对您有所帮助。

答案 1 :(得分:2)

在第一个屏幕截图中,您必须在WHERE子句之前添加一个空格:

String query = "UPDATE user SET bdlu = " + bldut + "WHERE userid = " + uid + ";";

因此您的查询将被解释为:

UPDATE user SET bdlu = 50WHERE userid = 1001

因此您将引发语法错误。

然后您将有以下查询:

String query = "UPDATE user SET bdlu = " + bldut + " WHERE userid = " + uid + ";";

答案 2 :(得分:0)

在您的代码中尝试使用此代码段。

String query = "update user SET bldu = " + bldut + " WHERE userid = " + uid + ";";
Statement = con.prepareStatement(query);
Statement.executeUpdate();

通过查看代码,您无法将更新查询的结果存储在resultSet中。executeUpdate()仅针对更新的成功和失败返回0或1。

答案 3 :(得分:0)

好的,伙计们,我已经弄明白了它正在工作,这意味着该程序正在通过jdbc从netbeans更新mysql中存储的数据,但是它不会停止显示以下错误消息:

“无法使用executeQuery()发出数据操作语句”

每次我单击一个分配了jButton的按钮。但是我检查了数据库,我要更改的值正在更改,但是为什么它显示此错误。

答案 4 :(得分:0)

请在您的java文件中使用此代码,请根据您的文件进行更改。您的问题是您正在已用于更新的结果集中使用相同的查询

连接conn = DriverManager.getConnection(             “ jdbc:mysql:// localhost:3306 / bdb”,“ root”,“ root”);

尝试{

    String query = "update user SET bldu = " + bldut+ " WHERE userid = " + uid + ";";           
    // create the java mysql update preparedstatement
    Class.forName("com.mysql.jdbc.Driver").newInstance();

    PreparedStatement preparedStmt = conn.prepareStatement(query);
    preparedStmt.executeUpdate();

    query = "select * from user  WHERE userid = " + uid +";";
    ResultSet rs = stmt.executeQuery(query);
    // STEP 5: Extract data from result set
    while (rs.next()) {
        // Retrieve by column name
        String userid = rs.getString("userid");
        String userfname = rs.getString("userfname");
        // all your column
        // Display values
        System.out.print("userid: " + userid);
    }
    // STEP 6: Clean-up environment
    rs.close();
    stmt.close();
    conn.close();
} catch (Exception e) {
    System.err.println("Got an exception! ");
    System.err.println(e.getMessage());
} finally {
    // finally block used to close resources
    try {
        if (conn != null)
            conn.close();
    } catch (SQLException se) {
        se.printStackTrace();
    }// end finally try
}// end try