我试图从表中的一个特定列中获取数据,然后从中创建一个arrayList。我这样做是因为我需要能够搜索结果集的内容。

因此,我获取了结果集,然后对其执行getArray以获取该列的数据作为数组,

regionValidRS.getArray("REGION")


但这给了我这个例外:

Invalid column type: getARRAY not implemented for class oracle.jdbc.driver.T4CVarcharAccessor

据我了解,我认为这意味着未实现将varchars提取为数组的方法。
即我不能为此使用getArray方法,并且将不得不手动循环遍历所有元素以将它们插入到ArrayList中。

还有另一种方法吗?最好是一种不涉及循环遍历所有元素的更快方法?

最佳答案

getArray不会执行您认为的操作。这是the javadoc所说的:


检索当前行中指定列的值
此ResultSet对象在Java编程中作为Array对象
语言。

返回:一个Array对象,该对象代表SQL Server中的SQL ARRAY值。
指定列


(强调我的)。

您必须遍历结果集。那是唯一的方法。

10-02 01:09