java将结果集中的varchar放入ArrayList
我试图从表中的一个特定列中获取数据,然后从中创建一个arrayList。我这样做是因为我需要能够搜索结果集的内容
所以我获取结果集,然后对其执行getArray以获取该列的数据作为数组
regionValidRS.getArray("REGION")
但它给了我一个例外:
Invalid column type: getARRAY not implemented for class oracle.jdbc.driver.T4CVarcharAccessor
据我所知,我认为这意味着没有实现将varchar作为数组获取的方法。 i、 e.我不能使用getArray方法来实现这一点,必须手动循环所有元素以将它们插入ArrayList
还有别的方法吗?最好是一种更快的方法,不涉及所有元素的循环
# 1 楼答案
getArray并不像你想象的那样。下面是the javadoc所说的:
(我的)
你必须在结果集中循环。这是唯一的办法
# 2 楼答案
要从
Varchar
列和ArrayList
列中选择值,请使用以下命令:不过,我建议在数据库端进行任何处理
# 3 楼答案
getArray
方法用于从当前行读取数组列的值。(很少有数据库实现数组类型,许多人不知道它们。)您正试图将其与varchar列一起使用,但它就是不能这样工作在这种情况下,您需要做的是遍历结果集的行。在每一行中,如果该列包含getString,则获得该值。将字符串存储在正在生成的列表中。没有比这更快的方法了