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

绑定参数为PostgreSQL数组

朱锦
2023-03-14
问题内容

我正在尝试绑定准备好的语句参数,该参数是“多维” PostgreSQL数组。这是一个数组示例(列类型为numeric[]):

{{1,10},{2,20}}

如何使用预处理语句绑定类似的值?我试过了:

stmt.setObject(1, "{{1,10},{2,20}}", Types.ARRAY);

它没有用:

无法将java.lang.String的实例强制转换为Types.ARRAY

有任何想法吗?


问题答案:

尝试这样的事情(未经测试):

                ------------------ your connection
                V
Array inArray = conn.createArrayOf("integer", new Integer[][] {{1,10},{2,20}});
stmt.setArray(1, inArray);

链接:

  • JDBC中的Postgres和多维数组
  • 将数组从Java传递到Postgres


 类似资料:
  • 问题内容: 我有一个功能可以做到这一点: 哪个发送到我的数据库类,它执行以下操作: 问题是这不起作用。 我希望做的是获取列表,并在后面列出它们,以使查询类似于: 但是很明显,我走错了路。 有没有办法使数组…按原样转换为要在查询阶段打印出来的列表? 问题答案: call_user_func_array “使用参数数组调用回调” 应该做的工作 更新 :您还必须更改您的params数组: 如预期的那样,

  • 参数绑定是把当前请求的变量作为操作方法(也包括架构方法)的参数直接传入,参数绑定并不区分请求类型。 参数绑定传入的值会经过全局过滤,如果你有额外的过滤需求可以在操作方法中单独处理。 按名称绑定 参数绑定方式默认是按照变量名进行绑定,例如,我们给Blog控制器定义了两个操作方法read和archive方法,由于read操作需要指定一个id参数,archive方法需要指定年份(year)和月份(mon

  • 我正在努力做到以下几点。Java应用程序应该通过ScriptEngineManager/ScriptEngine运行javascript,javascript应该能够调用Java应用程序中的函数。只要只传递一个简单的变量,这种方法就非常有效。但我无法让它通过数组。这是我的代码: 我得到了一个错误: 线程“main”java中出现异常。ClassCastException:jdk。纳肖恩。应用程序编

  • 问题内容: 我正在尝试将数组作为IN变量传递给for。我怎样才能做到这一点? 我无法让它为我的一生工作。有什么想法吗?上面的代码只是一个示例。 问题答案: 在这种情况下,这样做是不合适的。您正在构造实际的SQL(这就是逗号和引号),并将其作为参数传递。它基本上以评估那里是全部。 同样,这是关于引号的一个好电话。MySQL使用单引号。 您将需要仅使用字符串连接来构建SQL,或者使用多个参数。 编辑

  • 问题内容: 我想在Postgres函数中将表名作为参数传递。我尝试了这段代码: 我得到了这个: 这是我更改为此时遇到的错误: 可能有效,因为如果没有where 得到的部分1,则表示已选定某项。为什么第一个工作和第二个工作不能同时进行?以及如何解决呢? 问题答案: 这可以进一步简化和改进: 使用架构限定名称进行调用(请参见下文): 或者: 要点 使用OUT参数简化功能。您可以直接选择动态SQL的结果

  • 问题内容: 我需要将动态参数传递给applet。 这是我的控制器: 这是我的观点,参数base64在控制器中定义为“ abcd” 当我运行页面时,我在p标签中看到字符串’abcd’,但是applet参数的值只是“ {{base64}}”。 我该如何解决? 问题答案: 我解决了传递整个applet声明的问题。这样,它可以正常工作。 控制器: 视图: