日期:2014-05-20 浏览次数:21144 次
/** * 执行 SQL INSERT, UPDATE, DELETE 操作 * * @param sql * 需要执行的语句,按照 PreparedStatement 格式写 * @param objects * 需要的参数 * @return 影响的行数 */ public static int update(String sql, Object... objects) { for (Object o : objects) System.out.println(o); Connection conn = null; PreparedStatement stmt = null; int flag = -1; try { conn = getConnection(); stmt = conn.prepareStatement("update r_acc_info_t set f_mail_zone='3' where f_acc_id='1'"); // Oracle 10g 中的Jar包居然不支持,汗一个 // ParameterMetaData pm = stmt.getParameterMetaData(); // int count = StringUtils.countMatches(sql, "?"); // // // 如果传入的是 objects 为 null,则不需要匹配参数 // if (objects != null) { // // 如果传入的 objects 大于 sql 中需要的参数 // if (objects.length > count) { // return flag; // } // // fill the PreparedStatement // for (int i = 0; i < count; i++) { // stmt.setObject(i + 1, objects[i]); // } // } flag = stmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { closeAll(null, stmt, conn); } return flag; }