簡體   English   中英

使用JDBC的Mysql中的更新查詢問題

[英]Problem with Update query in Mysql with JDBC

  1. 看截圖
  2. 見第二張截圖
  3. 見第三張截圖

好的,所以我要在Java和mysql上構建一個項目,此時我不得不更新MySql中的數據,但是從我的Java GUI應用程序中,我已經從MySql命令行客戶端執行了update命令

update user set bldu = 50 where userid = 1001;

它在那里工作得很好,但是從我的Java應用程序中,單擊分配的jbutton時,它說:

您的SQL語法有誤; 檢查與您的MySQL服務器版本相對應的手冊,以在第1行的'userid = 1001'附近使用正確的語法

請幫我..!

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

使用此查詢代替您的舊查詢可能會對您有所幫助。

在第一個屏幕截圖中,您必須在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 + ";";

在您的代碼中嘗試使用此代碼段。

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

通過查看代碼,您無法將更新查詢的結果存儲在resultSet中。executeUpdate()僅針對更新成功和失敗返回0或1。

好的,伙計們,我已經弄清楚了它正在起作用,這意味着該程序正在通過jdbc從netbeans更新存儲在mysql中的數據,但它不會停止顯示以下錯誤消息:

“無法通過executeQuery()發出數據操作語句”

每次我單擊一個分配了jButton的按鈕。 但我檢查了數據庫,我要更改的值正在更改,但是為什么它顯示此錯誤..?

請在您的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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM