Java 为什么不在oracle中执行update jdbc语句?
我想用java(eclips)执行以下代码 但是,我在ide中没有错误,在oracle中没有更新任何行 下面的代码是更新方法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
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属性)。