convert array java arrays postgresql jdbc resultset

convert arraylist to array java



Convertir un conjunto de resultados de la matriz SQL a una matriz de cadenas (4)

Cómo establecer una propiedad ArrayList desde una matriz SQL:

Array a = rs.getArray("col"); // smallint[] column if (a != null) { yourObject.setListProperty(Arrays.asList((Integer[]) a.getArray())); }

Estoy consultando la tabla information_schema.columns en mi base de datos PostgreSQL. Usando un nombre de tabla, el conjunto de resultados encuentra todos los nombres de columna, el tipo y si es anulable (excepto la clave principal, ''id''). Esta es la consulta que se está utilizando:

SELECT column_name, is_nullable,data_type FROM information_schema.columns WHERE lower(table_name) = lower(''TABLE1'') AND column_name != ''id'' ORDER BY ordinal_position;

Tengo una matriz de cadenas para cada uno de estos resultados y estoy tratando de usar el método ResultSet getArray(String columnLabel) para evitar la getArray(String columnLabel) los resultados. Quiero almacenar las matrices devueltas en las matrices de cadenas, pero aparece un error de falta de coincidencia de tipo

Type mismatch: cannot convert from Array to String[]

¿Hay alguna forma de convertir o encasillar el objeto de la matriz de SQL en una cadena []?

Código Relevante:

String[] columnName, type, nullable; //Get Field Names, Type, & Nullability String query = "SELECT column_name, is_nullable,data_type FROM information_schema.columns " + "WHERE lower(table_name) = lower(''"+tableName+"'') AND column_name != ''id'' " + "ORDER BY ordinal_position"; try{ ResultSet rs = Query.executeQueryWithRS(c, query); columnName = rs.getArray(rs.getArray("column_name")); type = rs.getArray("data_type"); nullable = rs.getArray("is_nullable"); }catch (Exception e) { e.printStackTrace(); }


Generalizar la matriz al objeto

Object[] type; //this is generic can use String[] directly Array rsArray; rsArray = rs.getArray("data_type"); type = (Object [])rsArray.getArray();

Úsalo como una cadena:

type[i].toString();


Utilizar:

Array a = rs.getArray("is_nullable"); String[] nullable = (String[])a.getArray();

Como se explica here

Array es de tipo SQL, getArray() devuelve un objeto para convertirlo en una matriz java.


esto puede ser útil

Object[] balance = (Object[]) ((Array) attributes[29]).getArray(); for (Object bal : balance) { Object [] balObj =(Object[]) ((Array) bal).getArray(); for(Object obj : balObj){ Struct s= (Struct)obj; if(s != null ){ String [] str = (String[]) s.getAttributes(); System.out.println(str); } } }