什么情况会出现“executeUpdate, Exception = null”这样的错误?

6 篇文章 0 订阅
2 篇文章 0 订阅

       编程过程中出现错误很不幸,好在开发软件如.NET或者MyEclipse都会给我们一些详细错误信息的提示。但是如果出现下面的错误,

Error detailMessage =   " executeUpdate, Exception = null "

        没有详细的错误信息,怎么处理。我的建议是牢记出现的情况,因为这个错误不是很常见。

        我遇到的情况是:在Oracle的存储过程中定义类型同时为输入和输入的变量,这样的存储过程在数据库中进行调试运行是不会有错误的。

  PROCEDURE  TestSP
  (
    _P 
IN  OUT  INT ;
  ) 
IS
  
BEGIN
    
-- Do something
   END ;

        那么在运行下面的代码的时候就会出现错误。

callStatement.setInt( 1 123456 );

       希望和大家一起交流。谢谢

 

 

package com.visual.utils; import java.sql.*; import java.util.List; public class DBBean { private String url = "jdbc:mysql://47.101.187.125:3310/douban?useSSL=false"; // 数据库信息,旧版本中不用useSSL=false private String username = "root"; private String password = "rootRoot123."; private String driverName = "com.mysql.jdbc.Driver"; private Connection con = null; //连接对象 private PreparedStatement pstmt = null; //语句对象 private ResultSet rs = null; //结果集对象 public DBBean() throws ClassNotFoundException, SQLException { Class.forName(driverName); con = DriverManager.getConnection(url, username, password); } /* * sql:要执行的SQL语句 * params:SQL语句中需要的变量 */ public int executeUpdate(String sql, List<Object> params) throws SQLException { pstmt = con.prepareStatement(sql); if (params != null && params.size() > 0) { for (int i = 0; i < params.size(); i++) { pstmt.setObject(i + 1, params.get(i)); } } return pstmt.executeUpdate(); } public ResultSet executeQuery(String sql, List<Object> params) throws SQLException { pstmt = con.prepareStatement(sql); if (params != null && params.size() > 0) { for (int i = 0; i < params.size(); i++) { pstmt.setObject(i + 1, params.get(i)); } } return pstmt.executeQuery(); } public void close() { if (rs != null) { try { rs.close(); } catch (Exception ee) { } } if (pstmt != null) { try { pstmt.close(); } catch (Exception ee) { } } if (con != null) { try { con.close(); } catch (Exception ee) { } } } }
最新发布
07-20
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值