2013-07-10 37 views
0

我想在我的托管bean中进行更新查询。这里是代码:在java中的这个更新查询有什么问题?

try { 
     PreparedStatement checkDB1 = (PreparedStatement) con.prepareStatement("update pocket set balance=? where username=?"); 
     checkDB1.setDouble(1, (double) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("selectedUserBalance")-total); //This returns the desired result 
     checkDB1.setString(2, (String) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("selectedAccountIban")); //Returns the desired result 

     checkDB1.executeQuery();     

    } catch (SQLException e) { 
     System.err.println("SQLState: " + ((SQLException)e).getSQLState()); 
      System.out.println("SQLState: " +((SQLException)e).getSQLState()); 
    } 

我看到参数设置正确,看起来像我的查询中有错误。它进入catch块。另外,我不知道如何查看堆栈跟踪,e.printStackTrace在这里不起作用,我怎么能看到它?任何人都可以帮忙吗?

谢谢

+0

你能发布错误信息吗? – Abubakkar

+0

@Abu我怎么看到错误信息? ();或'System.out.println(e.getMessage());' – yrazlik

回答

0

尝试使用executeUpdate而不是executeQuery。我在执行数据库更新时看到了executeQuery的奇怪问题。

+0

工作谢谢你 – yrazlik