zoukankan      html  css  js  c++  java
  • preparedstatement execute()操作成功!但是返回false

    转自http://blog.sina.com.cn/s/blog_963fb3af01013rcs.html

    Connection con = getConn();

    String sql2 = "insert into serial_history h "
           + "(serial_no, tran_date, occur_bala, cust_no, status, "
           + " area_code, tran_type, return_code) "
           + "values(?,?,?,?,?,?,?,?)";

    PreparedStatement ps2= con.prepareStatement(sql2);

    ...

    ps2.setDouble(3, bd.getTranOccur());
    ps2.setString(4, bd.getCustNo().substring(3));

    ...

    boolean b = ps2.execute();//这里数据成功插入了!也没出异常!但是返回false;

    int success = ps2.executeUpdate();//保险期间还是用了这个

    经过查看资料发现:下面是API上的,能看懂

    boolean execute()
      throws SQLException在此 PreparedStatement 对象中执行 SQL 语句,该语句可以是任何种类的 SQL 语句。一些特别处理过的语句返回多个结果,execute 方法处理这些复杂的语句;executeQuery 和 executeUpdate 处理形式更简单的语句。 
    execute 方法返回一个 boolean 值,以指示第一个结果的形式。必须调用 getResultSet 或 getUpdateCount 方法来检索结果,并且必须调用 getMoreResults 移动到任何后面的结果。 
    返回:
    如果第一个结果是 ResultSet 对象,则返回 true;如果第一个结果是更新计数或者没有结果,则返回 false

    意思就是如果是查询的话返回true,如果是更新或插入的话就返回false了;

    execute()返回的是一个boolean值,代表两种不同的操作啊,getResultSet()返回的是结果集,而getUpdateCount()返回的是更新的记数

  • 相关阅读:
    java实现同步的两种方式
    JAVA线程概念
    XML基础总结
    JAVA使用和操作properties文件
    JAVA序列化基础知识
    easyui 在编辑状态下,动态修改其他列值。
    Activiti初学问题,求解
    java web--DOM
    java web(1)
    Java WEB
  • 原文地址:https://www.cnblogs.com/mahuangping/p/6252887.html
Copyright © 2011-2022 走看看