| 这个的问题不是return,而是传入的Strig类型的数组,因为数据中的数据类型不都是String类型的,也有number、float、double类型的,所以在进行增删改的操作的时候要对数据类型进行判断,然后传入符合数据库表要求的数据类型,一下是我的代码,仅供参考: public int update(String sql,List<String[]> param){
 //处理结果
 public final String p_char = "1";
 // 整数类型
 public final String p_num = "2";
 // 日期型
 public final String p_date = "3";
 // 浮点
 public final String p_double = "4";
 //实数
 public final String p_float="5";
 
 private static Connect conn;
 
 int result = 0;
 Connection conn = null;
 PreparedStatement ps = null;
 try {
 // 获取一个连接
 conn = this.getConnection();
 // 执行预备语句
 ps = conn.prepareStatement(sql);
 
 int seq = 1;
 
 for(String[] elem : param){
 // 参数数组长度为1的,默认为字符类型
 if(elem.length == 1){
 ps.setString(seq, elem[0]);
 }else{
 if(p_char.equals(elem[1])){
 ps.setString(seq, elem[0]);
 }else if(p_num.equals(elem[1])){
 ps.setLong(seq, Long.valueOf(elem[0]));
 }else if(p_double.equals(elem[1])){
 ps.setDouble(seq, Double.valueOf(elem[0]));
 }else if(p_date.equals(elem[1])){
 java.util.Date tmp = DateUtil.parse(elem[0]);
 Date temp = new Date(tmp.getTime());
 ps.setDate(seq, temp);
 }else if(p_float.equals(elem[1])){
 ps.setFloat(seq, Float.parseFloat(elem[0]));
 }
 }
 seq++;
 }
 // 执行操作
 result  = ps.executeUpdate();
 ps.close();
 ps = null;
 conn.close();
 conn = null;
 
 } catch (SQLException e) {
 e.printStackTrace();
 } finally {
 this.freeStatement(ps);
 this.freeConnection(conn);
 }
 
 return result;
 }
 执行结果resul>0则操作成功
 List<String[]> param中String[]中的只有两个元素,第一个是要插入的数据,第二个是对应的数据库中要求的数据类型,例如:param.add(new String[]{useid,conn.p_num});
 |