executeQuery和execute区别

本文介绍了一个常见的Java数据库操作错误:使用executeQuery方法执行删除操作。正确的做法是使用execute方法进行delete、update和insert操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值