所以我需要从我用 java 程序在 Oracle 上创建的 Varray 中获取数据。如果有人知道。我试过这个
我的 VArray。
CREATE OR REPLACE TYPE cancion IS VARRAY(13) of VARCHAR2(20);/
我在java中的功能。
private ArrayList<String> getCanciones(int codDisco) {
this.open();//open connection
ArrayList<String> x = new ArrayList<String>();
String util;
String sql = "SELECT canciones from TDisco where codDisco = "+codDisco;
try {
PreparedStatement select = con.prepareStatement(sql);
System.out.println(sql);
ResultSet rs = select.executeQuery(sql);
while(rs.next()){
util=rs.getString(1);
x.add(util);
};
} catch (SQLException e) {
e.printStackTrace();
}
this.close();//close connection
return x;
}
使用简单的数组不会给获取所有数据带来问题。所以我只是这样做并且工作正常。
private ArrayList<String> getCanciones(int codDisco) {
// TODO Auto-generated method stub
ArrayList<String> x=new ArrayList<String>();
String[] values = null;
ARRAY array;
String sql = "SELECT canciones from TDisco where codDisco = "+codDisco;
try {
PreparedStatement select = con.prepareStatement(sql);
System.out.println(sql);
ResultSet rs = select.executeQuery(sql);
while(rs.next()){
array = (ARRAY) rs.getArray(1);
values = (String[]) array.getArray();
};
} catch (SQLException e) {
e.printStackTrace();
}
for (int i = 0; i < values.length; i++) {
x.add(values[i]);
}
return x;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句