gpt4 book ai didi

java - 如何从 getMetaData.getColumns() 返回可滚动的结果集?

转载 作者:行者123 更新时间:2023-12-02 11:00:27 24 4
gpt4 key购买 nike

我需要从下面的代码返回一个可滚动的结果集:

ResultSet columnMetaData = connection.getMetaData().getColumns(null, null, "my_table", "%");

但是,getColumns() API 似乎没有提供一种方式让我说出我想要 ResultSet 什么样的结果集类型成为。它只返回 TYPE_FORWARD_ONLY结果集。我发现的创建可滚动结果集的唯一示例涉及创建 Statement 。但我只能得到一个DatabaseMetaData来自 getColumns 的对象(从而调用 Connection 方法)对象,而不是 Statement .

有谁知道通过调用getColumns()返回可滚动结果集的方法吗? ?

顺便说一句,上面的代码是与 xerial 的 SQLite JDBC 驱动程序一起使用的。

最佳答案

你不能。 JDBC 规范明确指定元数据结果集必须是TYPE_FORWARD_ONLY。请参阅JDBC 4.3 Specification ,第 7.5 SQL 对象及其属性:

The ResultSet objects that are returned from a DatabaseMetaData method have a sensitivity of TYPE_FORWARD_ONLY and a concurrency of CONCUR_READ_ONLY. ResultSet.getHoldability can be called to determine the holdability of the returned ResultSet object as the default holdability is implementation defined.

您没有解释为什么需要它可滚动,但您要么需要将其转换为列表,要么将其包装在 CachedRowSet 中。

关于java - 如何从 getMetaData.getColumns() 返回可滚动的结果集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51372205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com