我试图从表中的一个特定列中获取数据,然后从中创建一个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值。
指定列
(强调我的)。
您必须遍历结果集。那是唯一的方法。