executeQuery和execute区别

1. 问题描述:

java代码中,连接到数据库,执行查询,成功。但是执行 清空数据库的语句,却失败。


2. 问题分析:

原因是代码用了同样的   executeQuery 方法 导致。executeQuery只能用于查询,execute方法才可以执行insert,update,delete操作。


错误代码如下:
            String url="jdbc:mysql://10.18.xx.xx:3306/xxxx?useUnicode=true&characterEncoding=utf8";
            String user="usernamexxx";
            String password="passwordxxx";


            //获取数据库连接 

            Connection targetConn =DriverManager.getConnection(url, user, password);
            Statement targetStmt = targetConn.createStatement();
           

            //执行查询 sql语句,此处执行成功
            String sql = "Select * From device_model";
            ResultSet coreRs = targetStmt.executeQuery(sql);
            
           //执行删除 sql语句, 以下代码执行错误,因为delete操作不可以用executeQuery方法,得用execute方法
            String sql2 = "Delete * From device_model";
            targetStmt.executeQuery(sql2);


3. 问题解决

在执行delete,update,insert等操作时,将executeQuery方法改成execute方法即可

            String sql2 = "Delete * From device_model";
            targetStmt.execute(sql2);


你可能感兴趣的:(executeQuery和execute区别)