JDBC如何判斷一條sql(delete)語句是否執行成功


今天在idea中寫了一句刪除數據的SQL,執行成功返回值=false,執行失敗返回值還是=false! emmm

結論:

// 研究了一下
Statement.execute(sql); // 不要用這個方法執行刪除語句,無論數據刪除成功和失敗都是返回false
Statement.executeUpdate(sql); // 得換成這種用更新數據的方法去刪除數據,返回值>=1表示刪除成功行數

附上我的代碼:

// 引入必要的包
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class Mysqlconn {
    // 配置信息
    static String qu = "com.mysql.cj.jdbc.Driver"; // JDBC驅動
    static String db_url = "jdbc:mysql://localhost:3306/testdb"; // url
    static String user = "root"; // user
    static String pass = "root"; // pass

    public static void main(String[] args) throws Exception {
        Connection conn;
        Statement stmt;

        Class.forName("com.mysql.cj.jdbc.Driver"); // 加載驅動
        conn = DriverManager.getConnection(db_url,user,pass); // 連接MySQL
        stmt = conn.createStatement();// 實例化一個Statement對象
        String sql = "delete from test where id=1"; // sql
        int res=stmt.executeUpdate(sql); // 執行SQL語句
        System.out.println(res); // 成功刪除,返回值=1,反之返回值=0

運行:

相關文檔:Java Statement.execute() 方法用於執行任意指定的 SQL 語句。該方法的返回值為 boolean 類型,判斷第一個結果是否為 ResultSet 對象,如果是,則返回 true,否則返回 false。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM