MySQL DELETE SQL使用经验

使用Java访问MySQL执行SQL语句发现。

使用executeQuery 执行DELETE后到数据库一看没有删除。

使用executeUpdate执行DELETE SQL 成功。代码如下:


//dbsql.java

public class dbsql {
    public  Connection _conn=null;
    public  Statement _stmt=null;
    public  DataSource _ds;
    
    public String  dbopen() {
    try {
        Context initCtx=new InitialContext();
        _ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/connectDB");
        _conn=_ds.getConnection();
        _stmt = _conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
        return "ok";
       } catch (Exception ex) {
            return ex.getMessage();
        }
    }
    
    public ResultSet executeQuery(String sql) {
      ResultSet rs = null;
     try {
        rs = _stmt.executeQuery(sql);
      } catch(SQLException ex) {
        System.err.println("aq.executeQuery: " + ex.getMessage());
      }
      return rs;
    }
    
    public int executeQuery(String sql,byte[] b){
        int ret = 0;
        try {
            PreparedStatement stmt = _conn.prepareStatement(sql);
            //InputStream input = new ByteArrayInputStream(b);
            //stmt.setBinaryStream(0, input, (int)b.length);
            stmt.setBytes(1,b);
            ret = stmt.executeUpdate();
        } catch (SQLException e) {
            System.err.println("binary:executeQuery" + e.getMessage());
        }
        return ret;
    }
    
    public int executeUpdate(String sql) {
      int ret = 0;
    
      try {
        ret = _stmt.executeUpdate(sql);
      } catch(SQLException ex) {
        System.err.println("aq.executeQuery: " + ex.getMessage());
      }
    
      return ret;
    }
    
    public void close(){
        try {
            _stmt.close();
            _conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

调用

dbsql db = new dbsql();
db.dbopen();

db.executeUpdate("DELETE FROM registration;"); //此处必须使用executeQuery。但是执行INSERT INTO 使用executeQuery成功
 db.close();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值