67,513
社区成员
发帖
与我相关
我的任务
分享
/**
* 执行 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;
}