使用 java 从 oracle 的 Varray 中获取数据

琼克斯

所以我需要从我用 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章