select和update、inster之前都用这个函数,当时是用oracle的,但今天换mysql后,出现问题了,怎样改才能都适用于select和inster呢?
public boolean executeUpdate(String sql,KeyValue paramter) throws Exception {
boolean result   = false;
Connection conn  = null;
PreparedStatement stmt  = null;
ResultSet rs  = null; try{
conn = DBConnection.getConnection();
stmt = conn.prepareStatement(sql);
initPreparedParamer(stmt,paramter);
rs=stmt.executeQuery();
result = rs.next();
return result;
}catch(java.sql.SQLException ext){
result = false;
throw new Exception("更新信息失败,错误信息:" +ext.toString());
}finally{
if(stmt!=null) stmt.close();
if(conn!=null) DBConnection.releaseConnection(conn);
}
}

解决方案 »

  1.   

    executeQuery 适合于返回结果集的,比如select
    executeUpdate 用户返回影响行数的,比如insert和 update
      

  2.   

    executeQuery 适合于返回结果集的,比如select
    executeUpdate 用户返回影响行数的,比如insert和 update更多的JAVA面试题,Java代码,Java学习资料,请到 JAVA世纪网
    更多的数据库面试题,智力面试题,相声,笑话,请到 老紫竹的家
      

  3.   

    你的程序不规范,方法是public boolean executeUpdate, 而你又使用rs=stmt.executeQuery();虽然都一样可以运行,但最好别这么做,1楼说得对,如果你的程序遇到了更换数据库情况,建议你使用DAO模式!定义一个标准的接口,再根据不同的数据库定义一个类去实现这个接口