Java 为什么不在oracle中执行update jdbc语句?

Java 为什么不在oracle中执行update jdbc语句?,java,oracle,jdbc,parameters,nested,Java,Oracle,Jdbc,Parameters,Nested,我想用java(eclips)执行以下代码 但是,我在ide中没有错误,在oracle中没有更新任何行 下面的代码是更新方法 public void setUpdate(String statement,String par1,String par2)throws Exception { System.out.println("this is setUpdate method"+statement); con = DriverManager.getConnection("jdbc:or

我想用java(eclips)执行以下代码 但是,我在ide中没有错误,在oracle中没有更新任何行

下面的代码是更新方法

public void setUpdate(String statement,String par1,String par2)throws Exception

{
  System.out.println("this is setUpdate method"+statement);
  con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","ALBALOO","myjava123");
  st =con.prepareStatement(statement);
  st.setString(1, par1);
  st.setString(2,par2);
  st.executeUpdate();
  // con.commit();
 }
下面一个是调用方方法

st="update newslables3 set nlable='1' where hhmm in (SELECT hhmm FROM newslables3 where hhmm not between '0830' and '1130') and yymmdd between ? and ? ";       
              db.setUpdate(st,priceSet[i][3],priceSet[i+1][3]);

我的oracle版本是10g xe

这是在某个事务中完成的吗?可能它在这个方法调用之外回滚。@SotiriosDelimanolis因为这是全部代码,所以没有事务。愚蠢的问题,您是否尝试手动运行更新以查看其是否达到预期效果?如果使用某些IDE直接在DB上运行,SQL语句是否会更新DB?您是否验证了此SQL是否可以在Oracle数据库上执行,以及是否确实使用您发送的参数更新了所需的数据?如果是这样,那么该代码应该可以工作(假设连接在
true
中具有AUTOCOMMIT属性)。