当前位置: 首页 > 面试题库 >

Java中的此更新查询有什么问题?

管梓
2023-03-14
问题内容

我正在尝试在托管bean中进行更新查询。这是代码:

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());
   }

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

谢谢


问题答案:

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



 类似资料:
  • 这个查询有什么问题? 错误消息: PreparedStatementCallback;错误的SQL语法[选择u.id,u.user_id,count(不同的pf.id),IfNULL(upm.apprum_autoassign_enable,true)来自用户u内部连接user_roles-ur-on-ur.user_ id=u.id左外部连接user_preference_management-

  • 问题内容: 我在SQL Server 2008 R2数据库上具有以下表结构: 我在表格FormTest中填写了以下信息 最后,我运行此sql查询: 但是后来我得到了这些结果: 有人可以告诉我我在做什么错吗? 问题答案: 这是因为您正在执行整数除法。您应使用以下方法将其中一个操作数转换为浮点数或十进制(取决于您进行的计算的精度和目的): 或可能:

  • 我试图实现连接,但我面临错误。我有产品表和商店表。产品表引用通过外键存储表,如下所示: 产品JAVA 现在,我展示tore.java 现在,我展示仓库 现在,这个错误是因为我在最后两个查询中实现了join。我想做的是购买所有商店位于特定城市或州的产品,如上图所示。 我遇到的错误是: 启动应用程序上下文时出错。要显示自动配置报告,请在启用调试的情况下重新运行应用程序。2016-10-16 09:53

  • 问题内容: 我正在尝试通过将新记录更新或插入新的记录到 voice_user_table中 来更新数据库。该表定义如下: 这是我正在使用的查询。我实际上对所有值都使用了参数,但是出于测试目的,我将其替换为我确定应该可以使用的值。用户名 aaa@aaa.com 存在。 运行查询后,我得到的输出是: 尽管应该插入新值,但是因为该行在数据库上尚不存在。当我仅使用insert子句手动插入一行,然后执行上面

  • 我是GraphQL的新手,我正试图做一个突变来从我的数据库中删除一篇文章,但我不知道如何删除。我使用Node.js,猫鼬和GraphQL。 这是我的模式的变异。 这是我在调用API删除文章时使用的查询。 我做错了什么? 我收到一个错误的400请求。消息:“无法查询类型为“变异”的字段“删除”

  • 问题内容: 为什么在下面的程序中不执行func3?在func1之后,不需要对func2进行评估,但是对于func3,不是吗? 问题答案: 您正在使用短路或。如果第一个参数为true,则整个表达式为true。 如果添加编译器使用的隐式括号可能会有所帮助 编辑 :正如Chris Jester-Young所说,这实际上是因为逻辑运算符必须从左到右的关联性: func1返回之后,它变为: 评估短路或后,它